php+apache 压力负载下的确认
为了确认,在cpu负载大的情况下,页面是否正常处理。
测试用压力代码(参考bench.php的一个函数):
function nestedloop($n) { $x = 0; for ($a=0; $a<$n; $a++) for ($b=0; $b<$n; $b++) for ($c=0; $c<$n; $c++) for ($d=0; $d<$n; $d++) for ($e=0; $e<$n; $e++) for ($f=0; $f<$n; $f++) $x++; print "$x\n"; } nestedloop(30) ;
ab -n 1000 -c 5 ip/index.php
负载情况如下
CPU已经100%了,没有空闲。
这时候,访问正常的url 。
发现可以正常访问。
结论:
apache 在处理负载的进程是5个,新的请求来时,新生成一个httpd 进程。linux 进程调度也会给新的httpd 进程执行的cpu 时间。
所以看似忙的要死,但是CPU执行时间有的话且简单页面不需要太多资源的话,是可以正常处理的。