前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >HTTP压测工具wrk使用指南

HTTP压测工具wrk使用指南

作者头像
星哥玩云
发布2022-07-28 14:39:26
8720
发布2022-07-28 14:39:26
举报
文章被收录于专栏:开源部署

【前言】

笔者使用wrk,是为了测试nginx转发报文的时候set_proxy_header规则,然后发现wrk尤其的好用,所以在这里写下来,以后用的时候还能查一查。

【安装】

不讲概念了,直接讲安装。

•从github上下载源码

git  clone  https://github.com/wg/wrk

•然后cd到wrk目录,进行安装

make

可能有一些包没有,导致git,make命令不能顺利执行,安装即可。

【基本参数】

以下是使用wrk查看到的一些基本参数信息

-c

--connections

N

跟服务器建立并保持的TCP连接数量

-d

--duration

T

压测时间

-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)

wrk -c 20 -t 2 -d 2m -H "host: dream.com" http://192.168.100.1:80/manage

建立20个TCP连接,使用两个线程,用时2分钟,携带HTTP头 "host:dream.com",对http://192.168.100.1:80/manage进行压测。

【输出内容】

wrk -c 20 -t 2 -d 10s -H "host: dream.com" http:http://10.XX.XX.XX:80/manage

Latency 延迟时间

Req/Sec 每秒处理的请求数

平均值(Avg),标准偏差(Stdev),最大值(Max),正负一个标准差占比(+/-) Stdev

一般主要关注Avg和Max。Stdev如果太大说明样本本身离散程度比较高,有可能系统性能波动很大。

50%的请求31.88秒返回

同上

10.02s处理了1992个请求数,读取了2.44M的数据。

线程总共平均1秒完成198.88个请求。

每秒读取249.19KB。

也可以发送POST请求进行压测

wrk -c 20 -t 2 -d 10 -H "host: dream.com" --script=post.txt http://10.XX.XX.XX:80/manage --latency --timeout 1s

post.txt

wrk.method = "POST"

wrk.body = "x=1&y=2"

wrk.headers["Content-Type"] = "application/x-www-form-urlencoded"

解析同上。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档