【压测】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。
相关推荐
上海_彭彭2 小时前
【提效工具开发】Python功能模块执行和 SQL 执行 需求整理
开发语言·python·sql·测试工具·element
测试19983 小时前
2024软件测试面试热点问题
自动化测试·软件测试·python·测试工具·面试·职场和发展·压力测试
代码欢乐豆4 小时前
数据采集之selenium模拟登录
python·selenium·测试工具
测试杂货铺7 小时前
外包干了2年,快要废了。。
自动化测试·软件测试·python·功能测试·测试工具·面试·职场和发展
小码哥说测试9 小时前
接口测试用例设计的关键步骤与技巧解析!
自动化测试·测试工具·jmeter·职场和发展·测试用例·接口测试·postman
awonw1 天前
[java][框架]springMVC(1/2)
测试工具·postman
迃幵chen1 天前
wireshark-网络分析工具
网络·测试工具·wireshark
孤蓬&听雨1 天前
RabbitMQ自动发送消息工具(自动化测试RabbitMQ)
分布式·测试工具·自动化·rabbitmq·自动发送消息
土小帽软件测试1 天前
jmeter基础01-2_环境准备-Mac系统安装jdk
java·测试工具·jmeter·macos·软件测试学习
qq_433716951 天前
测试分层:减少对全链路回归依赖的探索!
自动化测试·软件测试·功能测试·测试工具·回归·pytest·postman