smarty对网页性能的影响--开启opcache
在上一篇《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性能还是有明显的差异。
smarty对网页性能的影响--开启opcache的更多相关文章
- smarty对网页性能的影响
百度有个VUI模块,它负责将所有的广告信息縇染成HTML返回给调用方,它采用的是HHVM,縇染模板用的是smarty,前端服务器用的是nginx. 此前知道,新浪微博以前也用的是smarty,自从鸟哥 ...
- 转 [PHP] - 性能加速 - 开启Opcache
原文地址:[PHP] - 性能加速 - 开启Opcache PHP7已经发布了, 作为PHP10年来最大的版本升级, 最大的性能升级, PHP7在多放的测试中都表现出很明显的性能提升 一.开启Opc ...
- [PHP] - 性能加速 - 开启opcache
说明 PHP 5.5+版本以上的,可以使用PHP自带的opcache开启性能加速(默认是关闭的).对于PHP 5.5以下版本的,需要使用APC加速,这里不说明,可以自行上网搜索PHP APC加速的方法 ...
- 性能加速 - 开启opcache
说明 PHP 5.5+版本以上的,可以使用PHP自带的opcache开启性能加速(默认是关闭的).对于PHP 5.5以下版本的,需要使用APC加速,这里不说明,可以自行上网搜索PHP APC加速的方法 ...
- 开启opcache提高性能
在开启opcache之前,我们先介绍一下编译与解释: 编译器是把源程序的每一条语句都编译成机器语言,并保存成二进制文件,这样运行时计算机可以直接以机器语言来运行此程序,速度很快:而解释器则是只在执行程 ...
- List是线程安全的吗?如果不是该怎么办呢?安全的List对性能的影响有多大呢?
测试条件: 开启2个并行执行任务,往同一个list对象写入值 测试代码: ; static List<int> list = new List<int>(); static v ...
- 使用performance进行网页性能监控
由于项目需要, 需要对网页的一些性能进行监控, 接触到了performance, window.performance 提供了一组精确的数据,经过简单的计算就能得出一些网页性能数据, 将这些数据存储为 ...
- MySQL 笔记整理(7) --行锁功能:怎么减少行锁对性能的影响?
笔记记录自林晓斌(丁奇)老师的<MySQL实战45讲> 7) --行锁功能:怎么减少行锁对性能的影响? MySQL的行锁是在引擎层由各个引擎自己实现的.因此,并不是所有的引擎都支持行锁,如 ...
- 【百度】大型网站的HTTPS实践(三)——HTTPS对性能的影响
HTTPS在保护用户隐私,防止流量劫持方面发挥着非常关键的作用,但与此同时,HTTPS也会降低用户访问速度,增加网站服务器的计算资源消耗.本文主要介绍HTTPS对性能的影响. HTTPS对访问速度的影 ...
随机推荐
- ORMBase对象/关系型数据库映射在MVC中的应用
ORM这个字眼在我们操作数据库的时候,是我们使用频率最高的.它到底是个什么东西呢,我们先来看看一些对它的含义解释. 对象/关系数据库映射(object/relational mapping(ORM)) ...
- POJ 3349 Snowflake Snow Snowflakes(哈希)
http://poj.org/problem?id=3349 题意 :分别给你n片雪花的六个角的长度,让你比较一下这n个雪花有没有相同的. 思路:一开始以为把每一个雪花的六个角的长度sort一下,然后 ...
- 李洪强iOS开发之-环信04_消息
李洪强iOS开发之-环信04_消息 消息:IM 交互实体,在 SDK 中对应的类型是 EMMessage.EMMessage 由 EMMessageBody 组成. 构造消息 构造文字消息 EMT ...
- File List()列出文件目录
import java.io.File; public class FileTest { public static void main(String[] args) { File myFile = ...
- spring声明式事务 同一类内方法调用事务失效
只要避开Spring目前的AOP实现上的限制,要么都声明要事务,要么分开成两个类,要么直接在方法里使用编程式事务 [问题] Spring的声明式事务,我想就不用多介绍了吧,一句话“自从用了Spring ...
- 【Lucene3.6.2入门系列】第03节_简述Lucene中常见的搜索功能
package com.jadyer.lucene; import java.io.File; import java.io.IOException; import java.text.SimpleD ...
- 常用的SQL分页算法及对比
SQL Server 2005引入的新方法. SELECT * FROM (SELECT ROW_NUMBER() OVER(ORDER BY keyField DESC) AS rowNum, * ...
- 阿里巴巴SUI Mobile的使用
1.引入文件 <link rel="stylesheet" href="./css/sm.min.css"> <link rel=" ...
- jdbcTemplate 获取数据表结构
jdbcTemplate 操作方法 /** *1.方法一: */ String sql = "select * from "+ tableName; //RowCountCallb ...
- JS中的substring和substr函数的区别
1. 在JS中, 函数声明: stringObject.substring(start,stop) start是在原字符串检索的开始位置,stop是检索的终止位置,返回结果中不包括stop所指字符. ...