背景
最近恰逢双十一,大大小小的电商app在双十一之前都会做一次压测,曾经在小公司工作的时候很想知道大公司是如何压测的,有什么高深的压测工具没,本文就来揭露一下
压测真相
在确认使用什么压测工具进行压测之前,我们首先要看一下我们要支持什么协议的压测,首先看下常见的App架构图
我们可以看到App用户和App服务交互使用的协议就是http,那么所有可以支持http协议的压测工具都可以拿来压测,比如常见的Tsung,Jmeter工具就绰绰有余,我们这里常用的就是Tsung工具,然后如果Tsung不可用,就兜底用Jmeter工具。
工具问题解决后,剩下要做的仅仅就是抓压测的流量的问题,比如抓取每天峰值时刻的流量对应url列表,这样流量模型有了,压测的工具有了,就可以正常压测了,其实实际情况下确实就是这么简单。当然有些url对应的写接口需要屏蔽不压测这种属于特殊要考虑的情况.
那为什么很多即使大公司里面的同事有时候也没想到我们平时所谓的全链路压测其实很简单呢? 原因在于我们比如只接触订单服务这一块,而这一块的服务和其他内部服务的通信并不是http协议,而是使用公司内部直接基于tcp协议开发的自定义协议,所以才会有时候没想到入口的协议是什么.