-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Description
wrk 是一个轻量级的HTTP的压测工具,可以使用 lua 写脚本支持更复杂的压测场景
1.安装
brew install wrk
2.用命令进行压测
wrk -t4 -c1000 -d30s -T30s --latency http://www.douban.com
上面这条命令的意思是:
用4个线程来模拟1000个并发链接,整个测试持续30s
当超过30s后,打印出压测统计信息
备注:
wrk使用的异步非阻塞的io,并不是用线程去模拟并发链接,所以可以不用设置很多的线程,线程数-t的值一般根据CPU的核心数量设置
-c参数(并发连接)必须 大于 -t参数(线程数)
运行结果
Running 30s test @ http://www.douban.com
4 threads and 1000 connections
Thread Stats Avg Stdev Max +/- Stdev
Latency 23.50ms 9.61ms 122.58ms 84.80%
Req/Sec 2.61k 1.03k 4.79k 55.70%
Latency Distribution
50% 21.45ms
75% 26.43ms
90% 33.33ms
99% 62.62ms
312190 requests in 30.10s, 98.85MB read
Socket errors: connect 754, read 0, write 0, timeout 0
Non-2xx or 3xx responses: 312190
Requests/sec: 10371.92
Transfer/sec: 3.28MB
Socket errors 表示 socket 错误数量
Requests/sec 表示每秒请求数量(体现并发能力)
Latency Distribution 延迟情况和分布
写一个脚本 test.lua 的脚本文件
wrk.method = "POST"
wrk.body = "name=mili&age=12"
wrk.headers["Content-Type"] = "application/x-www-form-urlencoded"
命令运行:
wrk -t4 -c1000 -d30s -T30s --script=test.lua --latency http://www.douban.com
Metadata
Metadata
Assignees
Labels
No labels