AI工具人
提示词工程师

Web服务压测神器wrk

wrk是一款开源的高性能http压测工具(也支持https),非常小巧,可以执行文件只有3M(其中主要是luajit和openssl占用绝大多数空间),别看核心代码3-5年没更新了,但依旧非常好用。虽然很早之前我就知道有这么个工具了,当时学习这个工具的时候我还拿它压测了我们的个人网站xindoo.me,发现mysql性能不行后加了wp-cache,通过cache把我网站的承载能力提升了10多倍。但当时之前简单使用它的初级功能,最近工作中恰好有个http服务需要压测,然后就拿wrk做了。这次使用了wrk lua高级功能实现了压测,我们找到了我们服务的瓶颈,同时也被wrk的超高性能所震惊。

在这里插入图片描述

如上图,我用单机(40 cores)压90台机器的集群,压到了31w的QPS,最后压不上去不是因为这台机器抗不住了,而是因为我们服务扛不住了。一个有复杂业务逻辑的服务和一个毫无逻辑的压测相比有失公允,但在压测过程中我也干垮了4台机器的nginx集群(这里nginx也只是个方向代理而已),这足见wrk性能之高。依赖lua脚本,wrk也可以完成复杂http请求的压测,接下来跟我一起了解下wrk的具体使用吧。

wrk的一切内容都在githubhttps://github.com/wg/wrk上,不像其他各种流行的工具包包一样,它并没有提供各个平台的可执行包,只有在mac上可以通过brew安装(应该也不是作者提供的)。好在编译wrk并不难,也不需要什么特殊的配置,git clone https://github.com/wg/wrk.git 或从github上直接下载zip包,进入项目目录后直接执行make,你就可以得到一个可执行文件wrk 。

赞(0) 打赏
未经允许不得转载:XINDOO » Web服务压测神器wrk
描述文字

评论 2

  1. #1

    博主您好,非常喜欢这篇 wrk 的入门讲解文章,不过 -d 和 -t 的参数注释是不是写反了?

    匿名7年前 (2020-01-07)回复
    • 是的,感谢指出错误

      xindoo7年前 (2020-03-28)回复

觉得文章有用就打赏一下文章作者

非常感谢你的打赏,我们将继续给力更多优质内容,让我们一起创建更加美好的网络世界!

支付宝扫一扫

微信扫一扫