wrk
一个用于HTTP负载测试和性能基准测试的工具,支持Lua脚本动态生成请求。
安装使用
复制下面这段提示词发给你的 AI(Claude / Cursor / TRAE / Codex / WorkBuddy 等),它会自动帮你完成安装:
帮我安装这个 AI Skill:wrk。 它的用途是:一个用于HTTP负载测试和性能基准测试的工具,支持Lua脚本动态生成请求。 完整的 Skill 内容见:https://321skill.com/skills/wrk-x-9/raw/index.md 请读取该页面内容,如果是 SKILL.md 格式直接安装,如果是 README 提炼核心 prompt 后安装。
提示词包含完整的 Skill 内容链接,AI 读取后即可完成安装。你也可以 查看完整内容 确认无误。
使用示例
‘我想用wrk测试一下我们新API的QPS,并发100个连接,持续30秒。’,它会为你生成相应的wrk命令行。或者,你可以说:‘我需要模拟不同IP地址的用户访问,请求头里的X-Forwarded-For要随机生成。’,它会提供一个包含Lua脚本的示例,演示如何动态设置请求头并启动测试。
介绍
wrk是一个现代化的HTTP基准测试工具,它能够通过单机多核CPU和高效的事件通知机制(如epoll, kqueue)产生显著的负载,用于评估Web服务的性能和承载能力。
它通过简洁的命令行接口接收目标URL、并发连接数、持续时间等参数,并支持使用Lua脚本来自定义复杂的负载测试场景。例如,您可以在脚本中动态修改请求头(如随机化X-Forwarded-For IP地址)、生成不同的请求体,或者实现复杂的请求序列,从而模拟更真实的用户行为。
这个工具非常适合后端开发、运维工程师和测试工程师,他们需要对API接口、Web服务或网关进行压力测试、性能调优和容量规划。通过wrk,可以快速发现服务的瓶颈,如响应延迟、吞吐量上限或内存泄漏等问题。
使用建议:建议在独立的测试环境中进行,避免对生产服务造成影响。注意调整线程数(-t)和连接数(-c)以匹配测试机器的CPU核心数,避免因上下文切换过多导致结果失真。对于更复杂的场景,可以深入学习其Lua脚本API来定制测试逻辑。
核心特点
与许多其他HTTP压测工具(如ab)相比,wrk利用多线程和事件驱动模型,单机即可产生极高的并发负载,性能表现更优;同时,其内嵌的Lua脚本支持允许用户高度定制化请求,动态生成请求参数和头部,而不仅仅是发送静态请求。
注意事项
不适合用于需要复杂业务逻辑验证或模拟有状态用户会话(如依赖Cookie链式操作)的端到端测试场景。
常见问题
wrk和Apache Bench (ab) 有什么区别?
wrk采用多线程和事件驱动模型,单机性能通常高于ab,且支持通过Lua脚本动态生成请求,而ab主要发送静态请求。
如何用wrk测试需要认证的API?
可以通过编写Lua脚本,在request函数中设置Authorization等认证请求头来模拟已登录用户的请求。
给 AI 助手的安装指引
如果你的 AI 编程助手(Claude Code、Cursor、TRAE 等)能看到这个页面,把下面这段发给它即可自动完成安装:
请访问 https://321skill.com/skills/wrk-x-9/raw/index.md 读取 wrk 的原始 Skill 定义(Markdown 格式),按其中说明在我的环境里完成安装和配置。
AI 可直接读取的原始 Markdown 地址:/skills/wrk-x-9/raw/index.md(查看排版版本)