【压测】wg/wrk 轻量级压测

wg/wrk 轻量级压测

说明:环境是 centos,不过现在 centos 免费版本不再更新和维护了,所以大家可以用阿里云的或者用 ubuntu 内核

用的 https://github.com/wg/wrk.git 有 35k star

然后据我了解,windows 用 wrk 压测有点麻烦,我也试过,把方法,放在最后了

一、安装 wrk
shell 复制代码
yum install -y gcc make openssl-devel  #安装编译工具、openssl开发包以及其他必要的依赖项
git clone https://github.com/wg/wrk.git
cd wrk
make # 编译
cp wrk /usr/local/bin/ # 将wrk可执行文件移动到系统路径中,这样它就可以在任何位置运行,确保`/usr/local/bin/`在系统的`$PATH`环境变量中。

如果没有 git ,就安装一下

shell 复制代码
yum install git
二、开始压测

wrk -t12 -c400 -d30s http://127.0.0.1:8888/manage/getManageStatisticsAll?x-token=

  • -t12:使用12个线程进行测试。
  • -c400:使用400个并发连接进行测试。
  • -d30s:运行测试持续30秒。
  • 参数意思参考:https://github.com/wg/wrk
go 复制代码
  12 threads and 400 connections
  Thread Stats   Avg      Stdev     Max   +/- Stdev
    Latency    37.76ms   18.14ms 232.05ms   72.32%
    Req/Sec     0.89k   159.11     1.56k    69.98%
  317812 requests in 30.07s, 146.70MB read
  Non-2xx or 3xx responses: 317812
Requests/sec:  10567.92
Transfer/sec:      4.88MB


使用wrk工具进行了HTTP基准测试,使用了12个线程和400个连接。以下是测试结果的一些关键指标:

平均延迟(Latency):37.76毫秒
延迟标准差(Stdev):18.14毫秒
最大延迟(Max):232.05毫秒
平均请求数(Req/Sec):0.89k(即每秒处理的请求数量为890)
请求数量的标准差(Stdev):159.11
最大请求数(Max):1.56k(即最多每秒处理1560个请求)
总请求数:317,812
总传输数据量:146.70MB
非2xx或3xx响应的请求数:317,812(即所有请求都返回了非成功的状态)
根据测试结果,平均每秒处理的请求数为10,567.92,传输速率为4.88MB/s。
windows 版本用 wrk
go 复制代码
在Windows上使用wrk工具进行基准测试需要进行一些额外的步骤。以下是在Windows上使用wrk的一般步骤:

安装依赖项:

Visual C++ Redistributable for Visual Studio 2015:您可以从Microsoft的官方网站下载并安装此依赖项。
OpenSSL:您可以从https://slproweb.com/products/Win32OpenSSL.html下载并安装适用于您的Windows版本的OpenSSL。
下载wrk源代码:

访问wrk的GitHub仓库:https://github.com/wg/wrk
点击"Code"按钮,然后选择"Download ZIP"来下载wrk的源代码。
解压缩wrk源代码:

将下载的ZIP文件解压缩到您选择的目录中。
构建wrk:

打开命令提示符或PowerShell,并导航到wrk源代码目录。

运行以下命令来构建wrk:

Copy
cd wrk-master
cmake -B build -DCMAKE_BUILD_TYPE=Release .
cmake --build build --config Release
构建完成后,您将在wrk-master\build\Release目录中找到生成的wrk可执行文件。

运行wrk:

在命令提示符或PowerShell中,导航到生成的wrk可执行文件所在的目录。

使用类似于以下命令的语法运行wrk:

Copy
wrk.exe -t12 -c400 -d30s http://example.com
将http://example.com替换为您要测试的目标URL。
相关推荐
步行cgn15 小时前
为什么使用接口测试工具?
测试工具
P1Browser16 小时前
Puppeteer 与 Selenium 技术对比:多账号自动化管理如何做环境隔离?
selenium·测试工具·自动化
weihubeats2 天前
10 MB 的 Postman 替代品,启动不到 1 秒
测试工具·postman
Meta Luo4 天前
UI 自动化测试中的等待、超时和异步加载怎么处理
功能测试·测试工具·ui·回归·自动化
yeflx5 天前
Ubuntu22.04下通过Wireshark抓取相机IP
tcp/ip·测试工具·wireshark
总线通信小百科5 天前
100BASE-T1媒体转换器选型:接口、主从模式与供电怎么判断?
经验分享·测试工具
测试开发技术5 天前
AI时代我们要如何玩抓包测试:Reqable + AI Agent
软件测试·人工智能·测试工具·接口测试·agent·抓包
泽众云测试6 天前
国产化替代国外性能测试工具推荐:泽众PerformanceRunner
软件测试·测试工具·性能测试
墨云安全6 天前
自动化渗透测试工具有哪些?2026 年引擎原理、任务编排与误报抑制实践
git·测试工具·网络安全·渗透测试·自动化
芝麻馅汤圆儿6 天前
sfnt-pingpong -测试网络性能和延迟的工具
测试工具