[转帖]HTTP压测工具wrk使用指南

http,工具,wrk,使用指南 · 浏览次数 : 0

小编点评

## wrk 示例 这篇文章介绍了如何使用 wrk 测试 Nginx 转发报文。 **安装** 首先,从 GitHub 上下载 wrk 代码: ```bash git clone -r wg/wrk cd wrk ``` **基本参数** 以下是使用 wrk 查看的一些基本参数信息: * `-c --connectionsN`:建立并保持 N 个 TCP 连接数量。 * `-t --durationT`:压测时间。 * `-t --threadsN`:使用多少个线程进行压测。 * `-s --scriptS`:指定 Lua脚本路径。 * `-H --headerH`:每个 HTTP 请求添加的 HTTP 头。 * `-l --latency`:打印延迟统计信息。 * `-t --timeout`:设置超时时间。 * `-v --version`:打印正在使用的 wrk 的详细版本信息。 **输出内容** 使用 wrk 时,会输出以下内容: * 延迟时间 * 每秒处理的请求数 * 平均值 (Avg)、标准偏差 (Stdev) 和最大值 (Max) * 50% 的请求响应时间 * 总请求数 * 每秒读取的数据量 **示例** 以下是一个示例命令,它创建一个 20 个 TCP 连接,每线程使用 2 个线程,并在 10 秒内进行 HTTP GET 请求: ```bash wrk -c 20 -t 2 -d 10s -H "host: dream.com" http://10.XX.XX.XX:80/manage ``` **总结** 这篇文章展示了如何使用 wrk 测试 Nginx 转发报文,并解释了基本参数和输出内容。

正文

https://www.cnblogs.com/liufarui/p/11063328.html

 

【前言】

笔者使用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 -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和MaxStdev如果太大说明样本本身离散程度比较高,有可能系统性能波动很大。

   

   

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"

   

解析同上。

与[转帖]HTTP压测工具wrk使用指南相似的内容:

[转帖]HTTP压测工具wrk使用指南

https://www.cnblogs.com/liufarui/p/11063328.html 【前言】 笔者使用wrk,是为了测试nginx转发报文的时候set_proxy_header规则,然后发现wrk尤其的好用,所以在这里写下来,以后用的时候还能查一查。 【安装】 不讲概念了,直接讲安装。

[转帖]【软件测试】Jmeter性能测试(性能测试,Jmeter使用与结果分析)

文章目录 前言一、性能测试1. 什么是性能测试?2. 性能测试的重要性3. 性能指标——QPS和TPS①QPS②TPS 二、压测工具Jmeter1. 什么是Jmeter?2. Jmeter主要元件3. 下载安装 三、一个简单的测试案例①新建一个线程组②新建一个HTTP请求③添加HTTP信息头(请求头

[转帖]【压测】通过Jemeter进行压力测试(超详细)

文章目录 背景一、前言二、关于JMeter三、准备工作四、创建测试4.1、创建线程组4.2、配置元件4.3、构造HTTP请求4.4、添加HTTP请求头4.5、添加断言4.6、添加察看结果树4.7、添加Summary Report4.8、测试计划创建完成 五、执行测试计划总结 背景 通过SpringC

[转帖]Windows磁盘性能压测(2)-Fio

http://www.manongjc.com/detail/59-qftscgqzitmxpaw.html 目录 一、腾讯云官网硬盘性能指标 二、使用fio测试硬盘性能指标 1. 测试工具相关 2. 单路随机读写时延测试 2.1测试硬盘的随机读时延 2.2测试硬盘的随机写时延 2.3测试硬盘的随机

[转帖]Windows磁盘性能压测(1)-DiskSpd

http://www.manongjc.com/detail/59-xrydhtisrajqsxn.html 本文章向大家介绍Windows磁盘性能压测(1)-DiskSpd,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。 目录 一、腾讯

[转帖]记一次压测引起的nginx负载均衡性能调优

https://xiaorui.cc/archives/3495 这边有个性能要求极高的api要上线,这个服务端是golang http模块实现的。在上线之前我们理所当然的要做压力测试。起初是 “小白同学” 起头进行压力测试,但当我看到那压力测试的结果时,我也是逗乐了。 现象是,直接访问Golang

[转帖]专注于GOLANG、PYTHON、DB、CLUSTER 记一次压测引起的nginx负载均衡性能调优

https://xiaorui.cc/archives/3495 rfyiamcool2016年6月26日 0 Comments 这边有个性能要求极高的api要上线,这个服务端是golang http模块实现的。在上线之前我们理所当然的要做压力测试。起初是 “小白同学” 起头进行压力测试,但当我看到

[转帖]HTTP2 Sampler for JMeter

https://www.cnblogs.com/a00ium/p/10462572.html 今天开发大大说能不能帮忙压一下HTTP2的链接,便去查了一下相关的东西。 HTTP 2.0 的出现,相比于 HTTP 1.x ,大幅度的提升了 web 性能。在与 HTTP/1.1 完全语义兼容的基础上,进

[转帖]HTTP 安全响应头(Security Response header)配置手册

https://sysin.org/blog/security-headers/ 一、常用安全 Header 释义 1. Strict-Transport-Security (HSTS) HTTP Strict Transport Security(通常简称为 HSTS)是一个安全功能,它告诉浏览器

[转帖]HTTP请求错误400、401、402、403、404、405、406、407、412、414、500、501、502解析

https://www.cnblogs.com/jiangjunli/p/7639578.html HTTP 错误 400 400 请求出错 由于语法格式有误,服务器无法理解此请求。不作修改,客户程序就无法重复此请求。 HTTP 错误 401 401.1 未授权:登录失败 此错误表明传输给服务器的证