wrk

用wrk进行HTTP负载测试,支持Lua动态请求头

安装使用

复制下面这段提示词发给你的 AI(Claude / Cursor / TRAE / Codex / WorkBuddy 等),它会自动帮你完成安装:

帮我安装这个 AI Skill:wrk。
它的用途是:用wrk进行HTTP负载测试,支持Lua动态请求头
完整的 Skill 内容见:https://321skill.com/skills/wrk-x/raw/index.md
请读取该页面内容,如果是 SKILL.md 格式直接安装,如果是 README 提炼核心 prompt 后安装。

提示词包含完整的 Skill 内容链接,AI 读取后即可完成安装。你也可以 查看完整内容 确认无误。

使用示例

'用wrk对http://localhost:8080/api进行100个并发连接,持续30秒,并添加随机X-Forwarded-For头。' AI会先生成包含随机IP生成逻辑的Lua脚本,然后执行wrk -t4 -c100 -d30s -s random_ip.lua http://localhost:8080/api,最后输出压测结果(如QPS、延迟分布)。

介绍

wrk是一个轻量级、高性能的HTTP负载测试工具,能够模拟大量并发请求对服务器进行压力测试,并通过Lua脚本扩展能力,例如动态生成随机X-Forwarded-For IP等自定义请求头。它解决了传统压测工具难以灵活定制请求参数的问题,帮助开发者和运维人员快速评估服务端吞吐量、延迟和稳定性。

使用方法简单:安装wrk后,直接在终端执行命令,例如 wrk -t12 -c400 -d30s http://example.com 即可启动12个线程、400个连接、持续30秒的压测。如需动态请求头,编写Lua脚本(如wrk.headers["X-Forwarded-For"] = math.random(1,255) .. ".0.0.1"),通过 -s 参数加载脚本。wrk会自动输出每秒请求数、延迟分布等关键指标。

该工具特别适合后端开发工程师、测试工程师和运维工程师,用于上线前压测、性能瓶颈排查、容量规划等场景。对于需要模拟真实用户IP分布、测试CDN或WAF策略的场景尤为实用。

建议在隔离的测试环境或预发布环境使用,避免对生产服务造成影响。注意调整并发数时逐步递增,防止瞬间打垮目标服务器。Lua脚本中避免执行耗时操作,以免影响压测本身的精度。

核心特点

相比ab、hey等压测工具,wrk通过Lua脚本支持动态请求头(如随机IP)、自定义请求体、连接复用等高级功能,且性能极高(基于epoll/kqueue),适合长时间高并发压测。

注意事项

不支持图形化界面,仅命令行操作;不适合需要模拟复杂用户行为(如浏览器渲染、Cookie管理)的场景。

常见问题

wrk如何安装?

macOS: brew install wrk;Ubuntu/Debian: sudo apt-get install wrk;或从GitHub源码编译: git clone https://github.com/wg/wrk.git && cd wrk && make

如何用Lua脚本设置随机X-Forwarded-For?

编写脚本: wrk.headers["X-Forwarded-For"] = math.random(1,255) .. "." .. math.random(0,255) .. ".0.1",然后运行 wrk -s script.lua http://example.com

给 AI 助手的安装指引

如果你的 AI 编程助手(Claude Code、Cursor、TRAE 等)能看到这个页面,把下面这段发给它即可自动完成安装:

请访问 https://321skill.com/skills/wrk-x/raw/index.md 读取 wrk 的原始 Skill 定义(Markdown 格式),按其中说明在我的环境里完成安装和配置。