【前言】
 
ASP站长网笔者使用wrk,是为了测试nginx转发报文的时候set_proxy_header规则,然后发现wrk尤其的好用,所以在这里写下来,以后用的时候还能查一查。
 
【安装】
 
不讲概念了,直接讲安装。
 
•从github上下载源码
 
git  clone  https://github.com/wg/wrk
 
•然后cd到wrk目录,进行安装
 
make
 
可能有一些包没有,导致git,make命令不能顺利执行,安装即可。
 
【基本参数】
 
以下是使用wrk查看到的一些基本参数信息
 
-c
 
--connections
 
N
 
跟服务器建立并保持的TCP连接数量
 
-d
 
--duration
 
T
 
压测时间
 
-t
 
--threads
 
N
 
使用多少个线程进行压测
 
-s
 
--script
 
S
 
指定Lua脚本路径
 
-H
 
--header
 
H
 
为每一个HTTP请求添加HTTP头
 
--latency
 
  
 
  
 
在压测结束后,打印延迟统计信息
 
--timeout
 
  
 
T
 
超时时间
 
-v
 
--version
 
  
 
打印正在使用的wrk的详细版本信息
 
N代表数字参数,支持国际单位 (1k, 1M, 1G)
 
T代表时间参数,支持时间单位 (2s, 2m, 2h)
 
wrk -c 20 -t 2 -d 2m -H "host: dream.com" http://192.168.100.1:80/manage
 
建立20个TCP连接,使用两个线程,用时2分钟,携带HTTP头 "host:dream.com",对http://192.168.100.1:80/manage进行压测。
 
【输出内容】
 
wrk -c 20 -t 2 -d 10s -H "host: dream.com" http:http://10.XX.XX.XX:80/manage
 
 
 
Latency 延迟时间
 
Req/Sec 每秒处理的请求数
 
平均值(Avg),标准偏差(Stdev),最大值(Max),正负一个标准差占比(+/-) Stdev
 
一般主要关注Avg和Max。Stdev如果太大说明样本本身离散程度比较高,有可能系统性能波动很大。
 
50%的请求31.88秒返回
 
同上
 
10.02s处理了1992个请求数,读取了2.44M的数据。
 
线程总共平均1秒完成198.88个请求。
 
每秒读取249.19KB。
 
也可以发送POST请求进行压测
 
wrk -c 20 -t 2 -d 10 -H "host: dream.com" --script=post.txt http://10.XX.XX.XX:80/manage --latency --timeout 1s
 
 
 
post.txt
 
wrk.method = "POST"
 
wrk.body = "x=1&y=2"
 
wrk.headers["Content-Type"] = "application/x-www-form-urlencoded"

dawei

【声明】:九江站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。