性能测试工具wrk的安装及使用

wrk简介

wrk是针对HTTP协议的压测工具,最大特点是轻量、易上手、小线程大并发。

开发原理:利用操作系统特定的高性能io机制。

wrk安装

# 从github下载​
git clone https://github.com/wg/wrk.git 
# 进入项目
cd wrk 
# 编译
make 


# 将可执行文件移动到 /usr/local/bin 位置 可直接使用wrk
sudo cp wrk /usr/local/bin

插曲1:

编译过程中出错提示:src/wrk.h:11:25: fatal error: openssl/ssl.h: No such file or directory 

去插曲1:

原因:openssl/ssl.h 加载失败

解决方式:

# include <openssl/ssl.h>  
# 安装openssl
sudo apt-get install libssl-dev
# 或者
sudo yum install openssl-devel

安装完成

 

wrk参数说明

  Options:                                            
    -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使用

# 线程数为 5,模拟 5 个并发请求,持续 1 分钟, 请求头 "ak:test"。
wrk -t5 -c5 -d1m -H"ak:test" http://xx.xx.xx.xx:xx

# --latency 可以查看响应时间分布
# -T30s 更新超时时间限制为30s

返回

 

返回说明

Running 1m test @ http://xx.xx.xx.xx:xxxx (压测时间30s)
  5 threads and 5 connections (共5个测试线程,5个连接)
			  (平均值) (标准差)  (最大值)(正负一个标准差所占比例)
  Thread Stats   Avg      Stdev     Max   +/- Stdev
    (延迟)
    Latency    427.30us    2.96ms 201.19ms   99.86%
    (每秒请求数)
    Req/Sec     2.92k   218.16     3.57k    73.31%
  871877 requests in 1.00m, 105.60MB read (1min内处理了871877个请求,耗费流量105.60MB)
Requests/sec:  14507.24 (QPS 14507.24,即平均每秒处理请求数为14507.24)   
Transfer/sec:      1.76MB (平均每秒流量1.76MB)

 插曲2: 

返回报错:Socket errors: connect 0, read 7909, write 8131, timeout 11

error解读:

Socket errors: connect 0, read 7909, write 8131, timeout 11 
# 本次压测存在7909个读错误, 8131个写错误,11个超时

去插曲2:

原因:请求响应时间超过 wrk 的默认超时时间1秒

解决办法:增大超时时间限时,可以使用30s/60s

# -T30s 更新超时时间限制为30s
wrk -t5 -c5 -d1m -T30s -H"ak:test" http://xx.xx.xx.xx:xx

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值