在上一篇《smarty对网页性能的影响》中,默认没有开启opcache,于是我安装了一下zend opcache扩展,重新实验了一下,结果如下:

有smarty

用apache的ab命令进行压力测试,并发10个,不算大;同时用sar命令进行cpu利用率的统计。命令如下:

./ab -c 10 -n 100000 http://cq01-rdqa-dev072.cq01.baidu.com:8008/index.php

sar -u 2 1000 >/tmp/smarty.sar &

cpu利用率每2秒统计一次,获取了23行数据,平均以后,CPU idle = 86.8535%,也就是平均CPU利用率为13.1%,比不开启opcache节省19.7%

收集到了100000条执行时间日志,平均执行时间为0.000784178秒,比不开启opcache节省10毫秒左右。

ab命令显示的Requests per second:    2104.07 [#/sec] (mean),比不开启opcache提高1306

无smarty

cpu利用率每2秒统计一次,获取了40行数据,平均以后,CPU idle = 92.8845%,也就是平均CPU利用率为7.1%,比不开启opcache节省2%

收集到了200000条执行时间日志,平均执行时间为8.63295e-05秒,即86.3296微秒,比不开启opcache节省93微秒。

ab命令显示的Requests per second:    2478.31 [#/sec] (mean),比不开启opcache提高152

结论:可以明显的发现,开启opcache以后,有smarty的情况下,性能有明显的提升,可以说是翻倍的提升。无smarty的情况下,CPU提升20%,执行时间节省50%

无smarty的情况下,代码行数较少,有几十行,所以提升不明显。有smarty的情况下,代码行数较多,加上缓存,所以就明显。

在开启opcache的情况下,无smarty比有smarty性能还是有明显的差异。

05-04 01:23