刘泉皓

没有最强的法术,只有最强的法师。

压测工具wrk2安装与使用

01 Oct 2021 » memory

简介

wrk2是非wrk作者基于wrk开发的压测工具,解决了协调遗漏问题(Coordinated Omission)

简单的用几句话解释协调遗漏。压测发送请求时,10个请求都是1ms完成,20个请求都是500ms完成,你以为系统压力是10个请求以后?并不是。实际上请求a0(0点发送0点1ms接收),a1(0点1ms发送0点2ms接收),但是到了a10却是(0点500ms发送0点501ms接收),虽然a10依然只花费了1ms请求时间,但是系统处理能力明显已经开始很吃力了,不然a10应该是(0点10ms发送,0点11ms接收)。传统压测工具只会告诉你a10花费了1ms,而处理过协调遗漏的压测工具还会把500ms加进来,这样你就可以知道真实的系统压力是从什么时候开始的。

下图引用wrk2的说明示例,_CO为处理过协调遗漏的请求。对比蓝色和红色的线,系统每秒发送16k请求时,传统压测工具给出压力发送到99.999%请求才开始突然爆炸,但是根据蓝线知道,实际上系统在收到99.9%的请求时压力已经开始慢慢增加了。

img1

安装

系统要求:ubuntu20.04

# apt isntall libssl-dev libzip-dev
# wget https://github.com/giltene/wrk2/archive/refs/heads/master.zip
# unzip master.zip
# cd wrk2-master
# make
# cp wrk /usr/local/bin/

使用

 wrk -d30 -t2 -c1000 -R2000 -L https://www.liuquanhao.com/

以上例子为压测30秒,使用2个线程,并发1k,每秒2k请求压测。


知识共享许可协议    鄂ICP备 15002452号-5    鄂公网安备 42088102000048号