《wrk 压测工具安装与配置》

《wrk 压测工具安装与配置》

1 简介

wrk 是一个基于 LuaJIT 的高性能 HTTP 压测工具,线程模型下单个线程可以维持大量连接,并可借助 Lua 脚本扩展请求构造逻辑,适合对服务做高并发压力测试。

2 安装

2.1 Debian / Ubuntu

apt-get install build-essential libssl-dev git -y git clone https://github.com/wg/wrk.git wrk cd wrk make -j`nproc` # 把生成的 wrk 移动到 PATH 目录下 cp wrk /usr/local/bin

2.2 CentOS

sudo yum groupinstall 'Development Tools' sudo yum install -y openssl-devel git git clone https://github.com/wg/wrk.git wrk cd wrk make # 把可执行文件移动到 PATH 目录下 sudo cp wrk /usr/local/bin

3 命令行选项

Usage: wrk <options> <url> Options: -c, --connections <N> Connections to keep open # 总连接数(并发数) -d, --duration <T> 测试时长,如 2s、2m、2h -t, --threads <N> 线程数 -s, --script <S> 加载 Lua 脚本文件 -H, --header <H> 添加请求头,如 "User-Agent: wrk" --latency 打印延迟统计 --timeout <T> 请求超时时间 -v, --version 打印版本

4 基本压测

# 100 个连接、4 线程、持续 10 秒 ./wrk -t 4 -c 100 -d 10s http://example.com/ # 附带延迟统计 ./wrk -t 4 -c 100 -d 10s --latency http://example.com/

5 通过 header 模拟代理访问

在请求头中覆盖 host 字段,即可把流量打到指定后端:

wrk --timeout 10s -t 2 -c 10 -d 1s \ -H "host: example.com" http://127.0.0.1/

6 参考文档

阅读 — · 全站 —
🎸 我的歌单 0 首