最近要对公司的网站做测试,我主要使用LoadRunner和ApacheBench高低搭配进行测试。LoadRunner主要用来压力测试,可以模拟用户行为,实时监测,有均值,曲线图,结果比较直观。ApacheBench也不差,比较简单,可以用来测试性能。本文侧重测试Apache/php性能,所以以ApacheBench说明。
测试过程发现一个问题,百思不得其解。
使用ApacheBench测试一段时间后,经常报这个错误“apr_poll: The timeout specified has expired (70007)”,引起了我的强烈关注
apache/php 问题测试过程
测试机器
硬件 CPU G620 2.60GHz(双核)RAM 4.00GB(2.99GB可用)软件 win7 32位 旗舰版 Apache/2.2.19 PHP/5.3.26
测试命令
ab -n 10000 -c 100 http://localhost/
测试结果
静态页面(index.html)的测试性能 1200 - 1300 rps
PHP空白页(只有echo 1;)测试效果不稳定,波动很大,100 - 600 rps,越测试性能越低。测试经常都是到了95%~99%的时候ApacheBench就停住,然后报错,或者很久才响应,测试结果只有100多
PHP页面测试过程可能引发的ApacheBench错误:
apr_poll: The timeout s