关于安装和一些解释说明,这个博主很清晰,所以看这个就可以。
https://juejin.im/post/5a59e74f5188257353008fea
建议大家在linux下的系统下用wrk,用起来非常方便。
接着说一些自己用到的,比较熟悉的部分。
目前我所进行的压力测试比较简单,基本上是用post方法进行压力测试,不同的需求有不同的内容:
post.lua脚本
wrk.method = "POST"
wrk.body = "输入你要传递的数据"
wrk.headers["Content-Type"] = "application/x-www-form-urlencoded"
wrk.headers["XX"] = "XXXXXXXXXXXXX"
wrk -t2 -d30s -c50 -T3s --script=post.lua --latency url(要进行压测的接口)
其中可以通过改变 –script=xx.lua ,实现在同一时间进行对好几个接口的压力测试
也可以通过将
wrk -t2 -d30s -c50 -T3s --script=post.lua --latency url(要进行压测的接口)
写入shell脚本里面,如写一个run.shell
for循环是说,可以控制其它的变量不变,通过改变连接数来获取不同的压力测试结果,然后将结果写入output文件里面。
然后再讲一下我对结果的理解:
当看结果时,一般只要看红框框住的部分。
一般情况会控制时间(-d)和线程数(-t)为定量,(因为是post请求,所以也会跟上传数据有关,这里可以根据需求来)-T则是根据需求来,然后改变连接数(-c),最后结果中超时率最小,QPS每秒请求数最大的,这个时间内,这个线程数量下的最佳连接数,不过同时也要看一下该时间内的最大请求数。