一、介绍
wrk is a modern HTTP benchmarking tool capable of generating significant load when run on a single multi-core CPU. It combines a multithreaded design with scalable event notification systems such as epoll and kqueue.
From:https://github.com/wg/wrk
二、多核
wrk通过设置线程数来充分利用多核处理器,比如
wrk -c 10 -t 5 -d 120 http://www.baidu.com/
这里设置的线程数为5,我们来查看一下
# pstree -p `pgrep wrk`
wrk(11225)─┬─{wrk}(11226)
├─{wrk}(11227)
├─{wrk}(11228)
├─{wrk}(11229)
└─{wrk}(11230)
从上面的结果可以看出,wrk确实启动了5个线程。尽管wrk可以启动很多线程数,但是建议线程数和CPU数一致,这样就可以最大程度的发挥CPU的性能了
三、性能
wrk在阿里云ecs.c6.large 节点上(2core4g),经测试,当压测内网服务的接口时,它每秒最高可以发出的请求数量是162064
,这个数是不是很吓人啊~
网友评论