PHP性能:序——谈ab(Apache Bench)压力测试工具
ab(Apache Bench)是啥?
ab是Apache自带的一个压力测试软件,可以通过ab命令和选项对某个URL进行压力测试。ab建议在linux环境下使用。
为啥要压力测试工具?
因为你不给你的网站压力,你不知道项目的最大的容量是多少,自己的知识有多少。在一定范围里,压力达到一定程度,动力和容量也就达到顶峰。所以说没有最大的容量,只有极致的性能优化。
压力测试工具,另一方面也为测试提供一个标准,为当前需要优化提供基础数据。
ab有什么能力?
ab作为Apache自带的软件,虽然性能不是最强,但是作为一般的压力测试已经足够了。
ab的安装
一般已经安装了Apache就不需要安装,需要安装的话可以自行搜索。
ab的主要命令
ab主要使用的两个选项就是-n和-c。其他选项使用命令 ab -h 进行查看。
命令格式是: ab -n10 -c10 URL
命令解说:
自带的命令选项说明如下
上图所示,-n指的是请求URL的数量,-c是指每次请求的并发数。展示的命令格式的意义就是:对URL进行10次请求,每次并发数是10个,总共请求了100次。
注:URL最后一定要补充一个"/",如:http://www.baidu.com/
测试性能主要关心那几个点?
对于ab工具,我们需要关注的是服务器软件,每秒请求数(Requests per second),单个请求的耗时(Time per request)。
下面是测试的结果解析:
测试的几个原则
1、测试工具和测试数据时,使用到别人的网址时,-n和-c的参数不能太大。
2、测试当前的机器,最好用另一台机器测试。
3、测试修改结果,最好是某个功能完善后才测,否则会导致结果有差异。
测试时遇到的常见问题:
①、ab压测之apr_poll: The timeout specified has expired (70007)
问题解答:
解决方案:在命令行中加-k 使得connection keep alive 如:ab -n 4000 -c 100 -k http://langyusc.net-tactic.com/