最近做了一些服务器的工作,在做http压力测试时,先是使用ab,发现mac上总是频繁出现各种问题,eg: "apr_socket_recv: Connection reset by peer (54)"等等;
最后切到了wrk,简单易用,功能强大,可以支持lua脚本来创建复杂的测试场景推荐给大家。
wrk只能运行于 Unix 类的系统上,不过Win10 RS及以上版本,启用Ubuntu子系统也可以使用。
测试例子:wrk -c 1000 -t 4 -d 1 --latency http://www.baidu.com
简单说一下wrk里面各个参数什么意思?
- -t 需要模拟的线程数
- -c 需要模拟的连接数
- --timeout 超时的时间
- -d 测试的持续时间
以上意思就是说 4线程模拟 1000个连接 测试1秒钟;
推荐一个博客wrk,解释了测试结果的各个参数 : http://www.cnblogs.com/savorboard/p/wrk.html