在上一篇<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 &…
百度有个VUI模块,它负责将所有的广告信息縇染成HTML返回给调用方,它采用的是HHVM,縇染模板用的是smarty,前端服务器用的是nginx. 此前知道,新浪微博以前也用的是smarty,自从鸟哥过去后,将smarty全部换成原生的php模板,因为据说性能提高了不少. 耳听为虚,眼见为实,下面从各方面来分析一下smarty对我们的性能产生多少影响. 先贴下我的实验环境,我对HHVM不太了解,先用官方的PHP进行实验(php-fpm),nginx开了8个进程,php-fpm开了20个进程,23…
原文地址:[PHP] - 性能加速 - 开启Opcache PHP7已经发布了, 作为PHP10年来最大的版本升级, 最大的性能升级, PHP7在多放的测试中都表现出很明显的性能提升  一.开启Opcache 在开启opcache之前,我们先介绍一下编译与解释 编译器是把源程序的每一条语句都编译成机器语言,并保存成二进制文件,这样运行时计算机可以直接以机器语言来运行此程序,速度很快; 而解释器则是只在执行程序时,才一条一条的解释成机器语言给计算机来执行,所以运行速度是不如编译后的程序运行的快的.…
说明 PHP 5.5+版本以上的,可以使用PHP自带的opcache开启性能加速(默认是关闭的).对于PHP 5.5以下版本的,需要使用APC加速,这里不说明,可以自行上网搜索PHP APC加速的方法. PHP开启opcache方法 1.打开php.ini文件 2.找到:[opcache],设置为: [opcache] ; dll地址 zend_extension=php_opcache.dll ; 开关打开 opcache.enable=1 ; 开启CLI opcache.enable_cli…
说明 PHP 5.5+版本以上的,可以使用PHP自带的opcache开启性能加速(默认是关闭的).对于PHP 5.5以下版本的,需要使用APC加速,这里不说明,可以自行上网搜索PHP APC加速的方法. PHP开启opcache方法 1.打开php.ini文件 2.找到:[opcache],设置为:   [opcache] ; dll地址 zend_extension=php_opcache.dll ; 开关打开 opcache.enable=1 ; 开启CLI opcache.enable_c…
在开启opcache之前,我们先介绍一下编译与解释: 编译器是把源程序的每一条语句都编译成机器语言,并保存成二进制文件,这样运行时计算机可以直接以机器语言来运行此程序,速度很快:而解释器则是只在执行程序时,才一条一条的解释成机器语言给计算机来执行,所以运行速度是不如编译后的程序运行的快的. 解释型语言的实现中,翻译器并不产生目标机器代码,而是产生易于执行的中间代码,这种中间代码与机器代码是不同的,中间代码的解释是由软件支持的,不能直接使用硬件,软件解释器通常会导致执行效率较低.用解释型语言编写的…
测试条件: 开启2个并行执行任务,往同一个list对象写入值 测试代码: ; static List<int> list = new List<int>(); static void Main(string[] args) { //迭代次数 ; CodeTimer.Initialize(); CodeTimer.Time("List是否是线程安全的呢?", iterationNum, new Action(ListIsThreadSafe)); //Consol…
由于项目需要, 需要对网页的一些性能进行监控, 接触到了performance, window.performance 提供了一组精确的数据,经过简单的计算就能得出一些网页性能数据, 将这些数据存储为日志, 可有效的对网页性能进行监控. 首先看一下在Chrome 的控制台执行window.performance会出现什么 下面是对这些属性的详细解释: performance = { // memory 是非标准属性,只在 Chrome 有 //这个属性提供了一个可以获取到基本内存使用情况的对象…
笔记记录自林晓斌(丁奇)老师的<MySQL实战45讲> 7) --行锁功能:怎么减少行锁对性能的影响? MySQL的行锁是在引擎层由各个引擎自己实现的.因此,并不是所有的引擎都支持行锁,如MyISAM引擎就不支持行锁.对于不支持行锁的引擎,只能使用表锁来进行并发控制.对于这种引擎的表,同一张表上任何时刻只能有一个更新在执行,这就会影响到业务并发度.InnoDB是支持行锁的,这也是MyISAM被它替代的一个重要原因. 顾名思义,行锁就是针对数据表中行记录的锁.比如事务A要更新某一行,同时事务B也…
HTTPS在保护用户隐私,防止流量劫持方面发挥着非常关键的作用,但与此同时,HTTPS也会降低用户访问速度,增加网站服务器的计算资源消耗.本文主要介绍HTTPS对性能的影响. HTTPS对访问速度的影响 在介绍速度优化策略之前,先来看下HTTPS对速度有什么影响.影响主要来自两方面:协议交互所增加的网络RTT(round trip time)和加解密相关的计算耗时.下面分别介绍一下. 1网络耗时增加 由于HTTP和HTTPS都需要DNS解析,并且大部分情况下使用了DNS缓存,为了突出对比效果,忽…