gowrk

文章目录

如何使用wrk做性能测试

##wrk的下载与安装

  • 从 github 上下载 wrk 源码
  • 切换到wrk目录
  • 使用make命令进行编译
  • 编译完成后,我们将wrk这个文件复制到bin目录下
  • 用wrk -v查看wrk的版本号来验证wrk是否安装成功

命令如下:

shell 复制代码
 git clone https://github.com/wg/wrk.git wrk
 cd wrk
 make
 cp wrk /usr/local/bin
 wrk -v
 #mac下快捷安装
 brew install wrk

wrk基本使用方法

  • 使用5个连接 2 个线程,持续运行 60 秒
lua 复制代码
wrk -c 5 -t 2 -d 60s --latency --timeout 20s -s /Users/wanjinhong/Desktop/soaringnova/demo/exam.txt https://aihubtest.digitalyili.com/aiSquare/openApi/reasoning-services/rlocrxm/sfzsbtest/idcard

lua脚本:lua脚本

参数解释:

lua 复制代码
使用方法:wrk <选项> <被测HTTP服务的url>
  Options:
    -c, --connections <N>  跟服务器建立并保持的TCP连接数量(第一个客户端是0)
    -d, --duration    <T>  压测时间,比如2s
    -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)
  • 可以被描述为在60s内,6个客户端独立的分为两个线程访问我们的服务器
  • 运行结果如下:
  • 运行结果的解释:
lua 复制代码
  Thread Stats   Avg      Stdev     Max   +/- Stdev
    Latency     3.49s   814.59ms   4.82s    73.13%
    Req/Sec     1.22      2.79    10.00     88.14%

- Latency:延迟,这里可以理解为响应时间的平均值、标准差、最大值、正负一个标准差所占比,一般我们来说我们主要关注平均值和最大值. 标准差如果太大说明样本本身离散程度比较高. 有可能系统性能波动很大。

- Req/Sec:每秒请求数的平均值、标准差、最大值、正负一个标准差所占比
lua 复制代码
  Latency Distribution
     50%    3.68s
     75%    4.04s
     90%    4.40s
     99%    4.82s

- 延时分布统计:50%的请求在3.68s内完成,75%的请求在4.04s内完成,90%的请求在4.40s内完成,99%的请求在4.82s内完成。
lua 复制代码
  67 requests in 1.00m, 86.22KB read
#60s进行了67次请求,耗费86.22KB流量
lua 复制代码
Requests/sec:      1.12
#每秒处理请求数,即QPS为1.12
lua 复制代码
Transfer/sec:      1.44KB
# 平均每秒流量为1.44KB

参考文献

相关推荐
我不会起名字32215 小时前
一天一道力扣Hot100(36):深度优先算法---组合总和
数据结构·c++·后端·python·算法·go
名字还没想好☜1 天前
Go context.AfterFunc 实战(Go 1.21):context 一取消就自动跑清理,告别手写 goroutine 监听 Done
后端·golang·go
liyinchi19883 天前
微信小程序支付遇到“由于小程序违规,支付功能暂时无法使用” 解决办法
java·微信小程序·go
天天喝旺仔3 天前
Go 泛型实战:从类型参数、约束到可复用泛型容器与函数
数据结构·算法·容器·go
gospace3 天前
【无标题】
go·gb28181·gowvp
我不会起名字3224 天前
一天一道算法题(35):电话号码的字母组合
java·数据结构·后端·python·leetcode·go·回溯
江湖十年4 天前
Go GOPROXY 兜底链的坑:从一次诡异的 CI lint 失败说起
后端·面试·go
秋风点枝4 天前
gogogo!go语言感悟大观--打卡day01
go·devops
探索云原生4 天前
KubeClipper 1.7.0 发布:Operation 优化与 Kubernetes 1.37 支持
linux·docker·云原生·kubernetes·go
右耳朵猫AI4 天前
Go周刊2026W37 | Ebitengine 纯 Go 化、simd 重写 TurboPFor、json/v2 落地
后端·微服务·go