ab全名是apache bench,是apache自带的一款压力测试工具。它通过创建多个线程来模拟并发,测试目标是基于URL的,因此不论是什么web服务器都可以支持。
使用ab非常简单,进入apache的bin目录下,执行ab命令就可以,如下:
ab -n 500 -c 100 -w http://www.xxxx.com >> d:\report.html
其中:-n 表示 全部请求的数量 -c 表示并发请求的数量,即一次产生的请求数 -w 表示导出文件
导出的html文件如下:
这里要备注的是几点:
1、Request per second: 是吞吐率,表示在该并发下每秒能够处理请求数,是通过请求数和消耗时间计算出来的;该值越大越好。
2、并发连接数是不代表并发用户数的,因为不同的浏览器在请求时启动的连接数是不一样的,比如chrome,如果打开首页要加载10个资源,chrome会启动4个并发连接,加载完后在启动4个并发。因此实际用户数 要在 并发连接数的基础下除这个基数;这里的连接数指的是TCP连接。
3、当然系统用户数和最大并发用户数就要根据实际业务情况这算了,比如OA的话,建议在5%~20%就可以了。
4、请求数指http请求,也不能完全等价于连接数,因为要考虑keep-alive时,TCP不断链的情况;