【压测】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。
相关推荐
叶落无痕5213 小时前
Electron应用自动化测试实例
前端·javascript·功能测试·测试工具·electron·单元测试
程序员三藏14 小时前
接口自动化测试之 pytest 接口关联框架封装
自动化测试·软件测试·python·测试工具·测试用例·pytest·接口测试
测试界的海飞丝16 小时前
14:00面试,14:06就出来了,问的问题过于变态了。。。
测试工具·面试·职场和发展
时时刻刻看着自己的心17 小时前
socket hang up postman报错
测试工具·postman
程序员小远17 小时前
Postman接口测试详解
自动化测试·软件测试·python·测试工具·测试用例·接口测试·postman
卓码软件测评21 小时前
CMA-CNAS软件测评报告机构【Apifox动态Mock响应处理复杂业务逻辑设计】
测试工具·性能优化·单元测试·测试用例
小白学大数据21 小时前
使用 Selenium 爬取京东手机销量与评分数据 (1)
爬虫·selenium·测试工具·智能手机
卓码软件测评1 天前
第三方CMA.CNAS软件评测机构【深入理解Apifox的数据模型:定义和管理API数据结构】
测试工具·ci/cd·测试用例
程序员三藏1 天前
单元测试详解
自动化测试·软件测试·python·测试工具·职场和发展·单元测试·测试用例