一个系统的运行性能,除了程序本身要写的完善,还有要看php本身的一些问题,对于php的运行优化,主要有这些加速器:wincache,xcache,ZendOPcache,eAccelerator加速器等;

Wincache:(Xee:微软的官网

wincache仅适应iis下搭建PHP,若是在windows下面运行其它php web服务器 wincache不是很好,可以考虑使用zend效果会更好(php5.5版本已经整合zend opache)。

大家都觉得在PHP在windows下远不如在linux下运行的好,于是微软就推出了WinCache Extension for PHP这款程序,目前支持两个版本分别是1.1和1.3,针对php5.2/5.3/5.4/5.5版本而发布,Wincache 是Windows下对PHP进行加速的软件,效果显著。在一些测试中,WinCache的得分比eaccelerator和Xcache得分都要好。WinCache可以在微软的IIS官方网站上下载,也可以在最火软件站下载,目前只支持FastCGI运行模式下,Non Thread Safe版本的PHP。 (参考:http://www.veryhuo.com/down/html/72353.html

php官方英文:Windows Cache Extension for PHP is a PHP accelerator that is used to increase the speed of PHP applications running on Windows and Windows Server. Once the Windows Cache Extension for PHP is enabled and loaded by the PHP engine, PHP applications can take advantage of the functionality without any code modifications. The extension includes PHP opcode cache, file system cache and relative path cache. In addition the extension provides cache API's and a PHP session handler.

(详细使用资料Windows Server 2008 R2 64Bit下进行Wincache安装与配置教程 & Windows Cache Extension for PHP: 在 IIS 的 PHP 快取提供者

XCache:

Xcache 和 memcached 是两个不同层面的缓存,不存在可比性。
Xcache 是 php 底层的缓存,它将PHP程式编译成字节码(byte code),再透过服务器上安装对应的程式来执行PHP脚本。而 memcached 是应用层缓存,它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态、数据库驱动网站的速度。
xcache 是不需要修改PHP程序的,只要安装了就可以自动为你的程序加速,而 memcached 则需要你修改程序的,需要你在操作数据库之前先询问下 memcached 有没有缓存数据,如果有且没有过期则不再访问数据库,以达到减少数据库查询的目的。
ps:LAMP 的瓶颈在M,即数据库,以新的KVDB代替旧的关系数据库可以直接提高web应用程序的性能。

ZendOPcache:

Zend OPCache的前身是Zend Optimizer + (Zend O+),在PHP5.5的发行版本中自带了Zend O+,并重新命名为:Zend OPCache。但是默认是没有启用的,可以在ini文件中enable一下。

大家知道目前PHP的缓存插件一般有三个:APCeAcceleratorXCache,但未来它们可能都会消失,因为PHP 5.5已经集成Zend Opcache,功能和前三者相似但又有少许不同,缓存速度据说比它们更快(Xee:Zend Opcache和APC都是php官方的,值得信赖。反正不会慢,但是和其他插件同时使用会不会出问题?哈哈)。

据统计,zend opcache比apc性能要好,可以提升提升 5%-9%。

Zend Optimizer + 通过 opcode 的缓存和优化来提速 PHP 的执行.它通过在共享内存里存储预编译的PHP脚本来提高PHP的性能.这一操作消除了从磁盘读取PHP文件然后编译的过程.此外, 此外它还提供了少量的字节码优化模式使得代码执行更快.

值得关注的是Zend OPCache支持PHP5.2.0+的版本,也就是说只要是5.2以上的PHP,都可以是用Zend OPCache,而不需一定要升级到PHP5.5,所以在我们目前的生产站点可以尝试使用Zend OPCache,如基于Drupal6、Drupal7的PHP5.2,PHP5.3等版本。

(参考:http://www.cnblogs.com/keheng/articles/3721179.html & 用Zend OPCache提高PHP的性能

ZendGuardLoader

php5.3之后是没有Zend Optimizer,但是可以安装Zend Guard Loader。

Xee

1:所以有时会遇到这种情况:由于业务,或者客户系统需要,需要安装php5.4以上的版本,同时由于用的zend加密程序,必须安装zend Guard , 我们的服务器是window平台只好安装 apache+php+mysql+Zend Guard Loader。

2:还有:zend guard loader只支持NTS的版本,意味着如果你的php版本是TS的话,就没法使用zend guard loader了,如果你想查看自己的php是ts还是nts的,只需要输出phpinfo,然后搜索下:Thread Safety,disabled对应nts版本,否则为ts。因此,终极解决办法就是,下载个php NTS版本进行安装即可。

再编辑php.ini文件,添加一段代码(如):

[Zend.loader]

zend_extension="E:\wamp\bin\php\php5.4.12\ext/ZendLoader.dll" //填写你的绝对地址

zend_loader.enable=1

zend_loader.disable_licensing=1

zend_loader.obfuscation_level_support=4

zend_loader.license_path=

重启~

Xee

1:Zend OPcache是一个非常优秀的加速器 听说Zend OPcache+Memcached 加速效果不错
    Zend OPcache和eAccelerator的区别我个人觉得嘛  eAccelerator缓存 存读写都在磁盘 而Zend OPcache则在内存明显代码执行将更快。

2:查阅了不少资料说Zend Guard Loader和Zend Opcache不能共存,果断注释掉Zend Guard Loarder。

3:ZendGuardLoader带有zend解密的功能,Zend Opcache只有加速和缓存。

(官方版本也只支持到5.4版本,估计是PHP 5.5已经集成Zend Opcache

eAccelerator:(Xee:官网好像长时间没有维护了)

eaccelerator无法兼容php5.5.0,好在php在5.5.0默认提供了Zend OPcache,所以一直习惯eaccelerator的朋友如果要升级到php5.5.0的话,可能要暂时和eaccelerator说bye bye了。
配置Zend OPcache
一直以来都习惯用eAccelerator为php提供加速,但是目前有两个问题:
eAccelerator暂时不兼容php5.5.0

eAccelerator和Zend Opcache冲突

好在php5.5.0默认提供了Zend Opcache为php加速,配置方法如下:
zend_extension =/usr/local/webserver/php-d/php-5.5.0/lib/php/extensions/no-debug-non-zts-20121212/opcache.so
; 上面zend_extension路径为opcache.so的路径
opcache.memory_consumption=128
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=4000
opcache.revalidate_freq=60
opcache.fast_shutdown=1
opcache.enable_cli=1
注意:如果在您的php扩展模块找不到opcache.so说明没有安装成功,请重新安装

这几个PHP加速插件的主要原理都相同,就是把PHP执行后的数据缓冲到内存中从而避免重复的编译过程,能够直接使用缓冲区已编译的代码从而提高速度,降低服务器负载,它们的效率是显而易见的,像drupal这种庞大的CMS,每次打开一个页面要调用数十个PHP文件,执行数万行代码,效率可想而知,在安装APC等加速器后打开页面的速度明显加快。

关于每个设置,我们都要仔细,不能太过于优化导致出现某些问题,却又找不到问题所在!这是得不偿失的!

php加速运行优化的更多相关文章

  1. Linux实战教学笔记36:PHP服务缓存加速深度优化实践

    一,PHP缓存加速器介绍与环境准备 1.1 PHP缓存加速器介绍 1.1.1 操作码介绍及缓存原理 当客户端请求一个PHP程序时,服务器的PHP引擎会解析该PHP程序,并将其编译为特定的操作码(Ope ...

  2. SQL运行优化收藏

    如何让你的SQL运行得更快(转贴) ---- 人们在使用SQL时往往会陷入一个误区,即太关注于所得的结果是否正确,而忽略了不同的实现方法之间可能存在的性能差异,这种性能差异在大型的或是复杂的数据库环境 ...

  3. Nginx优化防爬虫 限制http请求方法 CDN网页加速 架构优化 监牢模式 控制并发量以及客户端请求速率

    Nginx防爬虫优化 Robots协议(也称为爬虫协议,机器人协议等)的全称是“网络爬虫排除标准”(Robots Exclusion Protocol),网站通过Robots协议告诉搜索引擎哪些页面可 ...

  4. [eclipse相关] 001 - 启动+运行优化

    本随笔参考了其他博客内容,且在验证有效之下才或誊抄或摘录或加上自己经验组合而成. 参考博客: 1,http://zwd596257180.gitee.io/blog/2019/04/17/eclips ...

  5. 四十、LAMP与LNMP加速与缓存优化进阶实战上部

    实例: 一. 所有服务器配置定时时间同步,必须通过web server上网. 有两种方式: 1.服务器A能进行上网,作为web server ,通过指定为ntp服务器,所有服务器访问这个服务器 2.服 ...

  6. 【http】https加速优化

    目录 前言 HTTPS 的连接很慢 https 步骤简要划分 握手耗时 证书验证 CRL OCSP 硬件优化 软件优化 软件升级 协议优化 证书优化 会话复用 会话票证 预共享密钥 前言 主要记录 h ...

  7. Swift 性能探索和优化分析

    本文首发在 CSDN<程序员>杂志,订阅地址 http://dingyue.programmer.com.cn/. Apple 在推出 Swift 时就将其冠以先进,安全和高效的新一代编程 ...

  8. php Zend Opcache,xcache,eAccelerator缓存优化详解及对比

    XCACHE XCache 是一个开源的 opcode 缓存器/优化器, 这意味着他能够提高您服务器上的 PHP 性能. 他通过把编译 PHP 后的数据缓冲到共享内存从而避免重复的编译过程, 能够直接 ...

  9. 深度优化LNMP之PHP (转)

    深度优化LNMP之PHP   PHP缓存加速介绍   1.操作码介绍及缓存原理     当客户端请求一个php程序时,服务器的PHP引擎会解析该PHP程序,并将其编译为特定的操作码文件(Operate ...

随机推荐

  1. TYVJ1427 小白逛公园

    时间: 1000ms / 空间: 131072KiB / Java类名: Main 描述     小新经常陪小白去公园玩,也就是所谓的遛狗啦…在小新家附近有一条“公园路”,路的一边从南到北依次排着n个 ...

  2. 洛谷P1774 最接近神的人

    题目描述 破解了符文之语,小FF开启了通往地下的道路.当他走到最底层时,发现正前方有一扇巨石门,门上雕刻着一幅古代人进行某种活动的图案.而石门上方用古代文写着“神的殿堂”.小FF猜想里面应该就有王室的 ...

  3. HDU #2966 In case of failure

    Overview 给出平面上两两不重合的\(n\)个整点, 求每个点到它在其他\(n-1\)个点的最近临点的欧几里得距离的平方. Solution k-d tree 模板题. 关于k-d tree, ...

  4. HDU #5733 tetrahedron

    tetrahedron 传送门 Time Limit: 2000/1000 MS (Java/Others)   Memory Limit: 65536/65536 K (Java/Others) P ...

  5. IOS - CORE DATA的目录(xcode6)

       当使用coredata作为app的后台数据存储介质后,我们很想知道数据是否成功插入.为此,我想找到coredata.sqlite的文件 代码中指定的存储目录为: - (NSURL *)appli ...

  6. JavaWeb---总结(十四)JSP原理

    一.什么是JSP? JSP全称是Java Server Pages,它和servle技术一样,都是SUN公司定义的一种用于开发动态web资源的技术. JSP这门技术的最大的特点在于,写jsp就像在写h ...

  7. springMVC的注解详解

    springmvc常用注解标签详解 1.@Controller 在SpringMVC 中,控制器Controller 负责处理由DispatcherServlet 分发的请求,它把用户请求的数据经过业 ...

  8. UI学习之常用方法(续)

    UIView 1.    UIView *vv = [[UIView alloc]initWithFrame:CGRectMake(100,100, 100, 30)]; [vv.layer setB ...

  9. wpf的毛边窗体效果 前台代码

    <Window x:Class="wpfwindowsmove.毛边窗体"        xmlns="http://schemas.microsoft.com/w ...

  10. php 简单分页类

    /**  file: page.class.php   完美分页类 Page  */ class Page {  private $total;          //数据表中总记录数  privat ...