合作案例您的位置: 主页 > 合作案例 >
乐橙国际官网压力测试 - HTTP压测工具stress指南
发布时间:2020-06-15 12:04

 

  看下意思就知道,是perks这个代码库拉取失败,你可以直接手动在/bmizerany/路径(具体路径看你自己的电脑)下使用git clone或者再次执行指令尝试

  3. 下载完代码库后我们会在我们的GOPATH路径下的src中,新增了文件,然后我们执行

  stress提供了两种方式,简单的说,一种就是固定速率,乐橙国际官网持续一定时间,另一种是固定的请求数,以多线程形式持续发送(时间不固定)

  上面的rate(每秒请求数)就可以近似看为QPS,上面的例子一共发了600个请求

  stress的请求报告默认写入result.json,需要修改名称可以在请求时添加参数

  已经生成的报告可以通过指令来修改格式,支持text,json,plot三种

  请求QPS上限理论上来说取决于机器性能和操作系统文件打开数上限(文件描述符数量)

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

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

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

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

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

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

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

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

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

  作者:张晓庆,来自滴滴滴滴出行创立于2012年,是全球领先的一站式多元化出行平台。经历过各种烧钱补贴大战、多次合并,滴滴成为继阿里之后,国内第二个日订单量超过千万的公司。业务飞速增长,IT系统面临的挑战通常更甚于业务,因为不仅需求规模增加,技术人员数量增加,面临问题的复杂度也增加:2016年的滴滴,正在经历这样的阶段,一方面日单量从百万冲到千万,另一方面IT系统屡次出现线上故障,稳定性...