时光绘梦集
位置:首页服务器正文

道法自然 2025/03/09 周7

并发测试工具wrk介绍

压测工具wrk是一个很厉害的工具。

我之前用ab测试自己的网站,我感觉这个比ab厉害多了。这是它的英文介绍。

wrk
Usage: wrk <options> <url>
  Options:
    -c, --connections <N> Connections to keep open
    -d, --duration <T> Duration of test
    -t, --threads <N> Number of threads to use

    -s, --script <S> Load Lua script file
    -H, --header <H> Add header to request
        --latency Print latency statistics
        --timeout <T> Socket/request timeout
    -v, --version Print version details

  Numeric arguments may include a SI unit (1k, 1M, 1G)
  Time arguments may include a time unit (2s, 2m, 2h)

翻译相关参数

-c, --connections :用于指定保持打开的连接数。 是一个数值,代表连接的数量,比如 -c 100 表示同时保持100个连接。数值参数可以包含 SI 单位(如 1k 代表 1000, 1M 代表 1000000, 1G 代表 1000000000)。

-t, --threads :设置使用的线程数。 是线程数量,例如 -t 10 意味着使用10个线程进行测试。同样,数值参数支持 SI 单位。

测试时间参数

-d, --duration :定义测试持续的时间。 是时间值,可包含时间单位(如 2s 代表2秒, 2m 代表2分钟, 2h 代表2小时)。比如 -d 60s 表示测试持续60秒。

脚本与请求头参数

-s, --script :用于加载 Lua 脚本文件。 < S> 是 Lua 脚本文件的路径,通过加载脚本可以自定义测试行为,例如修改请求内容、处理响应等。

-H, --header :添加请求头到 HTTP 请求中。 是请求头内容,格式通常为 Header-Name: Header-Value ,可以多次使用该参数添加多个请求头。例如 -H "Content-Type: application/json" 。

统计与超时参数

--latency :打印延迟统计信息。开启该选项后, wrk 会在测试结束时输出关于请求延迟的统计数据,帮助了解请求的响应时间情况。

--timeout :设置套接字/请求的超时时间。 是时间值,和 -d 参数一样支持时间单位。例如 --timeout 5s 表示如果一个请求在 5 秒内没有得到响应,就判定为超时。

其他参数

-v, --version :打印 wrk 工具的版本详细信息。使用该参数可以查看当前 wrk 工具的版本号以及相关版本说明。

//使用示例
wrk -t2 -c150 -d30s --latency www.cn
//使用2个线程共150个并发,持续30秒,输出延迟信息