Skip to content

Latest commit

 

History

History
66 lines (50 loc) · 2.26 KB

File metadata and controls

66 lines (50 loc) · 2.26 KB

web性能测试工具WRK

web性能测试工具ab虽然简单易用,但不能针对多URL或者内容变更的测试,只能 单一目标压测;而wrk则更灵活、高效。

简介

wrk是流行的HTTP基准测试(benchmarking tool)工具,在单颗多核CPU上即可产生 巨大的负载;卓越的性能来自于 多线程+事件驱动(epoll) 的设计。

另外,可以通过LuaJIT脚本产生HTTP请求、处理应答、定制输出报告等;细节可 参考SCRIPTING或~/scripts文件夹。

注意,wrk所在的测试设备,必须拥有 足够的端口号 ,并且关闭的插口应该能 够快速回收 ;另外,虽然简单的修改HTTP方法、路径等的脚本不会影响wrk的性 能,但per-request动作,如创建新请求等,会降低wrk产生请求负载的能力。

安装

$ git clone https://github.com/wg/wrk.git
$ cd wrk
$ make           生成的可执行文件就在当前目录下

参数

-c
保持打开的链接数,值 1k/1M/1G
-d
测试的时间周期,duration of test
-t
线程数
-s
加载的lua脚本
-H
添加的HTTP请求头
–latency
打印延时统计
–timeout
插口或请求的超时时限,值 2s/2m/2h

示例

此处仅罗列简单的命令行示例,利用Lua脚本丰富操控功能的示例可参考wrk代码 导读。

使用方法
wrk <options> <url>

基准测试,持续10秒,启动2线程,保持10个链接处于打开状态;测试对象为
本地openresty搭建的静态环境,端口号6699
$ cd /path/to/wrk/
$ ./wrk -t2 -c10 -d10s http://localhost:6699/

输出结果
Running 10s test @ http://localhost:6699/
  2 threads and 10 connections
  Thread Stats   Avg       Stdev(标准差)   Max        +/- Stdev
    Latency      188.89us  23.83us         612.00us   80.19%    延时
    Req/Sec      26.24k    1.57k           28.42k     78.22%    每秒响应数
  527550 requests in 10.10s, 92.04MB read
Requests/sec:  52236.42
Transfer/sec:  9.11MB

参考