wrk

一个用于HTTP负载测试和性能基准测试的工具,支持Lua脚本自定义请求。

安装使用

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

帮我安装这个 AI Skill:wrk。
它的用途是:一个用于HTTP负载测试和性能基准测试的工具,支持Lua脚本自定义请求。
完整的 Skill 内容见:https://321skill.com/skills/wrk-x-3/raw/index.md
请读取该页面内容,如果是 SKILL.md 格式直接安装,如果是 README 提炼核心 prompt 后安装。

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

使用示例

‘我想用wrk测试一下我的API接口在100个并发连接下的性能,并且每次请求的X-Forwarded-For头要是随机的IP。’,它会生成相应的wrk命令行和Lua脚本示例,命令类似 `wrk -t12 -c100 -d30s --script=random_ip.lua http://your-api.com/endpoint`,脚本中会包含生成随机IP并设置请求头的逻辑。

介绍

wrk是一个现代化的HTTP基准测试工具,它能够帮助开发者对Web服务进行高并发的负载测试,以评估其性能和稳定性。它通过单线程、事件驱动的架构,能够利用少量系统资源产生巨大的并发连接,非常适合在开发或测试环境中快速进行压力测试。

使用wrk时,您可以通过命令行指定目标URL、并发连接数、持续时间等参数来发起测试。其核心优势在于支持通过Lua脚本定制请求,例如在脚本中动态生成随机的X-Forwarded-For请求头IP地址,以模拟真实世界中不同来源的用户请求,这对于测试负载均衡、IP过滤或地理位置相关功能至关重要。

这个工具特别适合后端开发、运维工程师和测试工程师使用。当您需要验证新上线的API接口能否承受预期的流量高峰,或者排查系统在特定压力下的性能瓶颈时,wrk是一个轻量且高效的选择。

在使用建议方面,请注意wrk主要专注于HTTP/1.1协议,对HTTP/2的支持有限。测试时建议从低并发开始,逐步增加压力,并密切观察服务器端的资源消耗(如CPU、内存、网络IO)和错误日志。由于测试可能对生产服务造成影响,务必在预发布或测试环境中进行。

核心特点

与JMeter、ab(ApacheBench)等工具相比,wrk采用单线程非阻塞I/O模型,资源占用极低却能产生极高的并发压力;其内置的Lua脚本支持允许在测试过程中动态修改请求参数(如头部、Body),提供了比ab更灵活的请求定制能力,同时又比JMeter等图形化工具更轻量和易于自动化集成。

注意事项

不适合用于测试需要复杂业务逻辑编排(如多步骤事务、依赖登录状态)的场景,也不支持图形化界面和详细的HTML报告生成。

常见问题

wrk如何模拟不同的用户IP?

通过编写Lua脚本,在request函数中动态设置headers["X-Forwarded-For"]为一个随机IP地址即可。

wrk支持HTTPS吗?

支持,在命令中直接使用https://开头的URL即可。

给 AI 助手的安装指引

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

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