wrk

一个用于HTTP负载测试和性能分析的命令行工具。

安装使用

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

帮我安装这个 AI Skill:wrk。
它的用途是:一个用于HTTP负载测试和性能分析的命令行工具。
完整的 Skill 内容见:https://321skill.com/skills/wrk-x-8/raw/index.md
请读取该页面内容,如果是 SKILL.md 格式直接安装,如果是 README 提炼核心 prompt 后安装。

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

使用示例

‘我想用wrk测试一下我们新API的QPS,并发100个连接,持续30秒。’,它会生成相应的wrk命令行,并可能建议你添加‘-t’参数指定线程数以充分利用多核CPU。或者,你可以说:‘帮我写一个Lua脚本,让每次请求的X-Forwarded-For头都是随机的中国IP。’,AI会生成完整的脚本代码,并解释如何将其与wrk命令结合使用。

介绍

wrk是一款现代的高性能HTTP基准测试工具,它能够模拟大量并发连接,对Web服务进行压力测试和性能评估。它通过单线程、事件驱动的架构,能够利用少量的系统资源产生极高的负载,帮助开发者发现服务的性能瓶颈和承载极限。

使用wrk时,你可以通过简单的命令行参数指定并发连接数、线程数、测试时长和请求URL。其核心优势在于支持Lua脚本,允许你动态定制请求内容,例如生成随机的X-Forwarded-For IP地址以模拟真实用户分布,或者实现复杂的请求序列和响应验证逻辑。

该工具非常适合后端开发、运维工程师和测试工程师,用于在应用上线前评估其性能表现,或在迭代更新后验证性能优化效果。对于需要确保服务稳定性和可扩展性的团队来说,wrk是进行容量规划和压力测试的得力助手。

建议在使用前,先在小规模测试环境验证脚本逻辑,避免对生产环境造成意外影响。由于wrk旨在产生高负载,测试时应密切关注目标服务器的资源使用情况(如CPU、内存、网络IO),并设置合理的测试时长,避免长时间压测导致服务不可用。

核心特点

与ab(ApacheBench)等传统工具相比,wrk通过单线程非阻塞I/O模型实现了更高的性能和更低的资源占用;其内置的Lua脚本支持提供了无与伦比的灵活性,允许用户自定义复杂的负载测试场景,如动态修改请求头、处理Cookie会话或实现多步骤事务。

注意事项

不适合测试需要复杂状态维持或依赖特定客户端库(如WebSocket长连接)的协议,其Lua脚本能力也主要局限于HTTP请求/响应层面。

常见问题

wrk能测试HTTPS接口吗?

可以,wrk支持HTTPS,使用时在URL中指定https://协议头即可。

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

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

给 AI 助手的安装指引

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

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