wrk压力测试工具
wrk安装
创新互联公司坚持“要么做到,要么别承诺”的工作理念,服务领域包括:网站制作、成都网站设计、企业官网、英文网站、手机端网站、网站推广等服务,满足客户于互联网时代的双塔网站设计、移动媒体设计的需求,帮助企业找到有效的互联网解决方案。努力成为您成熟可靠的网络建设合作伙伴!
Mac下安装:brew install wrk
即可安装成功,进入wrk目录/usr/local/Cellar/wrk/4.0.2/bin,执行wrk命令即可
简单的性能测试
bin git:(master) wrk -t12 -c100 -d30s http://weibo.com Running 30s test @ http://weibo.com 12 threads and 100 connections Thread Stats Avg Stdev Max +/- Stdev Latency 55.09ms 95.37ms 1.47s 90.01% Req/Sec 271.78 122.50 626.00 66.39% 95509 requests in 30.08s, 55.70MB read Socket errors: connect 0, read 0, write 0, timeout 1 Requests/sec: 3175.48 Transfer/sec: 1.85MB
-t12 为模拟12个用户线程 -c100模拟100个连接
3. 统计分析
项目 | 名称 | 说明 |
---|---|---|
Avg | 平均值 | 每次测试的平均值 |
Stdev | 标准偏差 | 结果的离散程度,越高说明越不稳定 |
Max | 最大值 | 最大的一次结果 |
+/- Stdev | 正负一个标准差占比 | 结果的离散程度,越大越不稳定 |
Latency: 可以理解为响应时间
Req/Sec: 每个线程每秒钟的完成的请求数
一般我们来说我们主要关注平均值和最大值.
标准差如果太大说明样本本身离散程度比较高. 有可能系统性能波动很大
4.wrk Post接口测试
首先需要准备一个lua文件
wrk.method = "POST" wrk.headers["Content-Type"] = "application/x-www-form-urlencoded" wrk.body = "youbody&youset"
这个文件内容建议自己填写,保存为 post.lua
文件
当然这个脚本内容可以再次定义,具体查看wrk的git文档
执行脚本
wrk -t4 -c2000 -d60s -T5s --script=post.lua --latency http://192.168.31.107/user/login
这样就是模拟4个线程,2000个连接,在60s内,间隔5s 执行 post.lua 的请求
你可以扩展一下,制作 shell 脚本来批量测试各种接口
分享文章:wrk压力测试工具
文章来源:http://ybzwz.com/article/jjcijs.html