压力测试-http压测工具stress使用

对于大型项目来说,高并发高流量的场景是必然的,这种时候压力测试就非常必要,而现在的压测工具良莠不齐,而且好多的是付费的,效果也不怎么好。

这次我主要是在一个定时红包雨的活动中(该活动的接口放在一个流量比较大的模块内),由于用户的请求都是在几秒内同时发出,所以一旦用户基数过大就可能对集群的承载造成威胁,万一把集群搞挂了那我可能就要收拾行李滚蛋了。。所以为了自己安全,做个压测是必要的。

这里我使用的是gitlab上的开源工具stress,发送的是http请求,这次我使用的是POST方式施压,当然还有还有一些其他方式,具体参照https://github.com/buaazp/stress/tree/master/doc文档说明

该工具使用比较简单,选两台服务器一台作为施压,另一台被施压,然后在施压的过程中看下服务器的状态,以及nmq消息队列中的处理速度。

这边我们在gitlab上下载好工具,上传到服务器然后解压,然后运行release.sh脚本就行了,这里可能会报一些错误,应该是脚本有些命令识别不了,不过只要把工具包下载下来就没问题。压力测试-http压测工具stress使用

然后选择自己对应的包解压,我这次使用的是stress-darwin-amd64.tar.gz,解压完没看到新增东西,不过我们输入stress,能看到提示的话说明工具就能使用了压力测试-http压测工具stress使用

ok,然后写个txt里面加入我们的接口位置就可以开始压测了!压力测试-http压测工具stress使用

stress attack -targets=test.txt -c=100 -n=10

这里的参数具体看文档,一般自己估摸下自己的场景qps峰值能到多少,这次我估计的是到300.

不过由于用的被施压的服务器配置不行,,差点把它搞崩溃了,处理了二十多分钟才处理完所有请求

 

不过这个工具后面应该还可以完善,等自己实力更高一些再回头来钻研下压力测试-http压测工具stress使用

具体还有些数据大家自己压测的时候也要注意

 

 

 

 

 

这次红包雨为了防止请求数太大,采用了现将请求放到nmq中,然后再慢慢处理,其中将结果先直接返回给用户,红包的数据之后慢慢写到db里,而且为了防止用户反复发送请求,使用memorycache缓存用户的红包结果。

百度云stress工具下载,以及我的压测结果报告也在其中,仅供参考

链接:https://pan.baidu.com/s/1nwXtg8p 密码:uue1

关注微信公众号,给你好看压力测试-http压测工具stress使用