wrk压测工具的简单使用

一、wrk简介

wrk 是一种高效的 HTTP 基准测试工具,能够在单个多核 CPU 上运行时产生大量负载。它将多线程设计与 epoll 和 kqueue 等可伸缩事件通知系统相结合,能用很少的线程压出很大的并发量,并且可以支持lua脚本来创建复杂的测试场景(请求参数的定制,参数加密、鉴权请求等)。

二、参数说明

参数选项参数说明
-c总的连接数(每个线程处理的连接数=总连接数/线程数)
-d测试的持续时间,如2s(2second),2m(2minute),2h(hour)
-t使用的线程数总数
-s加载的lua脚本文件
-H向请求头添加信息
–latency显示延迟统计
–timeoutSocket/request 超时时间
-v显示版本详细信息

三、压测示例

1、wrk -t12 -c800 -d30s --latency --timeout 5s http://localhost:80/login (wrk使用12个线程,800个连接,测试持续时间30s,显示延迟统计信息,请求超时时间为5s)

加载lua脚本文件:
wrk -t12 -c800 -d30s --latency --timeout 5s -s post.lua http://localhost:80/login

注:

-t (线程数)一般是CPU核数,最大不要超过CPUx2核数,否则会带来额外的上下文切换,将线程数设置为CPU核数主要是为了WRK能最大化利用CPU,使结果更准确。
-c (连接数)连接数(connection)可以理解为并发数,一般在测试过程中,这个值需要使用者不断向上调试,直至QPS达到一个临界点,便可认为此时的并发数为系统所能承受的最大并发量。

2、压测参数简介:

参数选项参数说明
Latency响应时间
Req/Sec每个线程每秒钟的执行的连接数
Avg平均值
Max最大值
Stdev标准差
+/- Stdev正负一个标准差占比
Latency Distribution响应时间分布
Requests/sec每秒请求数(也就是QPS),压力测试的性能指标,通过这个参数可以看出吞吐量
Transfer/sec每秒传输数据量
[root@ZYL nginx]# wrk -t4  -c100  -d30s  --latency --timeout 3s http://127.0.0.1:80/
Running 30s test @ http://127.0.0.1:80/
  4 threads and 100 connections
  Thread Stats   Avg      Stdev     Max   +/- Stdev
    Latency     9.97ms   34.84ms 362.77ms   94.41%
    Req/Sec    16.50k     9.78k   57.92k    67.88%
  Latency Distribution
     50%    1.01ms
     75%    3.64ms
     90%   10.41ms
     99%  198.52ms
  1898844 requests in 30.09s, 6.97GB read
Requests/sec:  63106.40
Transfer/sec:    237.06MB

4、测试结果详解:

Running 30s test @ http://127.0.0.1:80/
  4 threads and 100 connections
线程状态      平均值   标准差   最大值  正负一个标准差占比
  Thread Stats   Avg      Stdev     Max   +/- Stdev
响应时间:
Latency     9.97ms   34.84ms 362.77ms   94.41%
每个线程每秒完成的请求数:
    Req/Sec    16.50k     9.78k   57.92k    67.88%
  Latency Distribution	 响应时间分布
     50%    1.01ms   1.01ms响应时间内完成了50%的请求
     75%    3.64ms   3.64ms响应时间内完成了75%的请求
     90%   10.41ms   10.41ms响应时间内完成了90%的请求
     99%  198.52ms   198.52ms响应时间内完成了99%的请求
  1898844 requests in 30.09s, 6.97GB read   30.09s内处理了1898844个请求,读取6.97GB数据
Requests/sec:  63106.40		每秒请求数(也就是QPS)
Transfer/sec:    237.06MB	    每秒读取237.06MB的数据

希望对您有所帮助,么么哒!

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值