一、双系统安装步骤

Windows 编译安装 & Kali 一键命令安装,解决依赖问题

Windows Kali 查看详情 →

二、核心命令详解

线程数、连接数、测试时长等参数配置,结果分析

Windows Kali 查看详情 →

三、Lua 脚本进阶

自定义请求头、POST 请求、参数化测试脚本编写

Windows Kali 查看详情 →

四、安全与性能优化

合法压测范围、系统资源调优、常见问题排查

Windows Kali 查看详情 →

wrk 双系统安装教程

1. 工具介绍

wrk 是一款现代 HTTP 基准测试工具,基于多线程设计,支持 Lua 脚本扩展,压测性能远高于 Apache Bench

2. Windows 系统安装(编译方式)

① 安装编译环境:下载 Git for Windows(自带 MinGW 编译器)

② 克隆源码:打开 Git Bash 执行 git clone https://github.com/wg/wrk.git

③ 进入目录编译:cd wrk & make

④ 配置环境变量:将 wrk 目录添加到系统 Path,验证命令 wrk -v

3. Kali Linux 系统安装(一键命令)

① 更新软件源:sudo apt update

② 安装 wrk:sudo apt install wrk -y

③ 验证安装:wrk -v 查看版本号

wrk 核心命令与参数详解

1. 基础命令格式

wrk -t<线程数> -c<连接数> -d<测试时长> <测试URL>

2. 核心参数说明

-t:线程数,建议设置为 CPU 核心数的 2 倍

-c:总连接数,会平均分配到各个线程

-d:测试时长,支持 s(秒)、m(分)、h(小时) 单位

-s:指定 Lua 脚本文件

--latency:打印延迟统计信息

3. 实战示例(双系统通用)

测试百度首页,4线程、100连接、持续30秒并输出延迟:

wrk -t4 -c100 -d30s --latency https://www.baidu.com

4. 测试结果分析

Requests/sec:每秒请求数(QPS),核心性能指标

Latency:请求延迟,包括平均值、最大值、标准差

Transfer/sec:每秒数据传输量

wrk Lua 脚本进阶实战

1. 自定义请求头脚本

创建 header.lua 文件,添加自定义 User-Agent:

wrk.headers["User-Agent"] = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"
wrk.headers["Token"] = "your-test-token"

执行命令:wrk -t4 -c100 -d30s -s header.lua https://target.com

2. POST 请求脚本

创建 post.lua,模拟表单提交:

wrk.method = "POST"
wrk.body   = "username=test&password=123456"
wrk.headers["Content-Type"] = "application/x-www-form-urlencoded"

执行命令:wrk -t4 -c100 -d30s -s post.lua https://target.com/login

3. 动态参数化脚本

创建 param.lua,随机生成请求参数:

function request()
    local uid = math.random(1000, 9999)
    return wrk.format("GET", "/user/"..uid)
end

执行命令:wrk -t4 -c100 -d30s -s param.lua https://target.com

wrk 压测安全与性能优化

1. 合法压测范围

仅能对自己拥有权限的服务器/网站进行压测,未经授权测试他人网站属于违法行为,需承担法律责任

2. 系统资源调优

Windows:关闭防火墙和后台程序,在任务管理器中设置 wrk 优先级为高

Kali:执行 ulimit -n 65535 提升最大文件描述符数,使用 htop 监控 CPU/内存

3. 常见问题排查

✓ Windows 编译报错:安装 make 工具,确保 Git Bash 路径无中文

✓ Kali 安装失败:更换软件源后重新执行 sudo apt install wrk

✓ 压测结果波动大:多次测试取平均值,避免测试时占用带宽