wrk 压测笔记

上次写了一篇 locust 压测笔记 开始是部署在自己的本地机器上,办公网测着都没啥问题,但是想部署在开发机上,发现开发机连不上外网,而且只有 Python2 环境,因此离线下载 locust 的路线卡死了。

对比了下目前的一些产品,还是决定选择这个小而精的工具了。
压测工具对比

  1. 下载源码、编译、安装
git clone git@github.com:wg/wrk.git
cd wrk-master
make
make install
  1. 用法简介
Usage: wrk <options> <url>
  Options:
    -c, --connections <N>  Connections to keep open     #服务端连接数
    -d, --duration    <T>  Duration of test                          # 压测持续时间
    -t, --threads     <N>  Number of threads to use          # 开启线程数(线程可以被多个连接复用),因此连接数不能少于线程数

    -s, --script      <S>  Load Lua script file
    -H, --header      <H>  Add header to request
        --latency          Print latency statistics
        --timeout     <T>  Socket/request timeout
    -v, --version          Print version details

  Numeric arguments may include a SI unit (1k, 1M, 1G)
  Time arguments may include a time unit (2s, 2m, 2h)

举例

wrk -t15 -c300 -d10 --latency -s generateIDCode.lua http://localhost:14077/test
  1. 嵌入 lua 脚本
wrk.method = "POST"
wrk.headers["Content-Type"] = "application/json"
wrk.body = '{"A": {"B": "C","D": "E","F": "G"}}'

或者

wrk.method = "POST"

wrk.headers["Content-Type"] = "application/x-www-form-urlencoded"
wrk.headers["User-Agent"] = "Mozilla/5.0 (Linux; Android 9; PBEM00 Build/PKQ1.190519.001; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/70.0.3538.110 Mobile Safari/537.36 haokan/5.16.1.1 (Baidu; P1 9)/OPPO_82_9_00MEBP/1008350n/45EB2DAB0E15DE5433DCA54DCD9F64D0%7CO/1/5.11.2.0/511020/1"

wrk.body = 'nid=11522422680314980636&appid=haokan&token=429817cebf14fc234f03d325feda4561&authorUid=12323434&sids=7294_2'

4 函数 override
wrk 中内嵌 lua 可以用一些函数进行 override,来实现一些辅助功能,比如

function response(status_code, headers, body)
    print(status_code, headers, body)
end
function request()
    wrk.method="POST"
    wrk.headers["Content-Type"] = "application/json"

    return wrk.format()
end

举例

wrk -t1 -c1 -d20s --latency --script=post.lua http://localhost:8080/my/interface

参考链接:wrk压测工具使用 https://www.cnblogs.com/garfieldcgf/p/10002698.html

©️2020 CSDN 皮肤主题: 数字20 设计师:CSDN官方博客 返回首页
实付 29.90元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值