在上一篇《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性能还是有明显的差异。