PHPA又是另一个流行的PHP加速软件,PHP Cache也算是一种内存缓存扩展

  • 栏目:编程 时间:2020-04-27 06:06
<返回列表

接着我们要关注一下PHP加速的另一个领域―缓存工具软件。这类软件都是从优化PHP运行环境来提速的,不需要改变任何代码。我们可以大概地将它们称为“执行码优化/缓存工具”,你可以理解为它们用来实现比较底层的优化/缓存。 以下列出目前比较常用的此类工具,具体哪种效果最好,请用自己的服务器环境测试: (一) APC Alternative PHP Cache APC运行于Linux和FreeBSD,你需要自己编译安装。按照其开发人员的说法,在他们的测试环境下可以提高脚本速度50%-400%。并且APC是个开源项目,已经加入了PHP的PECL库,很值得一试。 (二) Turck MMCache Turck MMCache似乎是此类软件中目前最受欢迎的一种,它开放源代码,完全免费。它将PHP代码预编译并缓存起来,同时也对PHP运行环境进行一定优化。按照其官方文档的说法,MMCache可以明显地减轻服务器的负载,并提高脚本执行速度1-10倍。 MMCache与另一个知名的加速软件Zend Optimizer兼容,但注意必需先安装MMCache。除了加快PHP程序的速度,MMCache还可以将PHP代码加密。 Turck MMCache同时支持Linux和Win32平台。 (三) PHPA the PHP Accelerator PHPA又是另一个流行的PHP加速软件。在其官方网站上有分别使用PHPA与APC、Zend Cache的PHP脚本执行测试对比,其表现略优于APC,略逊于Zend Cache。 PHPA支持Linux, FreeBSD, OpenBSD, BSDi和Solaris系统. (四) Zend Performance Suite Zend Performance Suite是老牌的PHP加速/优化软件,依托于PHP领域最知名的Zend公司。目前已经推出4.0版本,它可以为PHP应用提供程序加速,内容缓存,文件压缩,下载服务等,功能十分强大,获得好几个PHP杂志的推荐奖―但是不得不提起,它也很昂贵,目前的价格是1875美元。 以上几种加速软件,希望读者按照服务器环境自行测试并选择其中最适用的,因为我没有办法提供一个普遍适用的测试标准来判断哪种方案是最有效的。综合起来看,我个人认为Turck MMCache是个值得推荐的选择,免费而且功能相当出色。

本文仅在LAMP或LNMP架构的基础上升级部署PHP加速器“eAccelerator”

PHP中有eAccelerator、memcached、xcache、APC 4个加速、缓存扩展,下面给大家介绍下其区别,一起看看吧!

一、关于:eAccelerator的介绍和理解

韦德体育 ,折腾VPS的朋友,在安装好LNMP等Web运行环境后都会选择一些缓存扩展安装以提高PHP运行速度,常被人介绍的有 eAccelerator、memcached、xcache、Alternative PHP Cache这几个缓存扩展,它们之间有什么区别?分别的作用又是什么?我们如何选择?这是本文给于大家的答案。

1.起源背景   

1、eAccelerator

   eAccelerator 是一个免费开源的PHP加速、优化、编译和动态缓存的项目,它可以通过缓存PHP代码编译后的结果来提高PHP脚本的性能,使得一向很复杂和离我们很远的 PHP脚本编译问题完全得到解决。通过使用eAccelerator,可以优化你的PHP代码执行速度,降低服务器负载,可以提高PHP应用执行速度最高 达10倍。
   eAccelerator 项目诞生于2004年,当时它是作为 Turck MMCache 项 目的一个分支提出并投入开发的。 Turck MMCache 由 Dmitry Stogov 开发,是个非常优秀的PHP内存缓存加速系统,如今仍然有很大部分 eAccelerator 的代码应用到该项目中,目前该项目有很长时间没有更新了,对于最新的PHP5.x的支持还未推出。

eAccelerator是一个自由开放源码PHP加速器,优化和动态内容缓存,提高了PHP脚本的缓存性能,使得PHP脚本在编译的状态下,对服务器的开销几乎完全消除。 它还有对脚本起优化作用,以加快其执行效率。使PHP程序代码执效率能提高1-10倍。从文字上可以理解为:eAccelerator是PHP加速器扩展。

2、原理
   eAccelerator 通过把经过编译后的PHP代码缓存到共享内存中,并在用户访问的时候直接调用从而起到高效的加速作用。它的效率非常高,从创建共享内存到查找编译后的代码 都在非常短的时间内完成,对于不能缓存到共享内存中的文件和代码,eAccelerator还可以把他们缓存到系统磁盘上。
   eAccelerator 同样还支持PHP代码的编译和解释执行,你可以通过encoder.php脚本来对php代码进行编译达到保护代码的目的,经过编译后的代码必须运行在安 装了eAccelerator的环境下。eAccelerator编译后的代码不能被反编译,它不象其他一些编译工具那样可以进行反编译,这将使得代码更 加安全和高效。

2、memcached

3.调用 eAccelerator 过程
Apache中使用mod_php的请求、响应执行流程:
1、Apache接收请求。
2、Apache传递请求给mod_php。
3、mod_php定位磁盘文件,并加载到内存中。
4、mod_php编译源代码成为opcode树。
5、mod_php执行opcode树。

Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载。它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提供动态、数据库驱动网站的速度。从文字上可以理解为:内存缓存扩展,并且针对于集群服务器使用较多,主要用于分布式缓存,算是数据库缓存。

PHP加速器相应的就是第四步,目的就是防止PHP每次请求都重复编译PHP代码,因此提高的访问速度(在漂移中俗称:加速器)
//(以上信息摘自互联网,以下为配置过程)

3、Alternative PHP Cache

二、系统信息

Alternative PHP Cache 是一种对PHP有效的开放源高速缓冲储存器工具,他能够缓存Opcode的PHP中间码。 APC的缓存分两部分:系统缓存和用户数据缓存. 系统缓存 是自动使用的,是指APC把PHP文件源码的编译结果缓存起来,然后在再次调用时先对比时间标记。如果未过期,则使用缓存代码运行。默认缓存 3600s.但是这样仍会浪费大量CPU时间.因此可以在php.ini中设置system缓存为永不过期.不过如果这样设置,改运PHP代码后需要restart一下您的web服务器.目前对APC的性能测试一般指的是这一层cache;从文字上理到:Alternative PHP Cache也算是一种内存缓存扩展,算是数据库缓存扩展。

1.系统环境: (在原有基础上直接升级部署)
参考:http://www.linuxidc.com/Linux/2012-02/53228.htm
硬件:HP 360G4/2G
System:CentOS 5.4 
Web:nginx-1.1.6.tar.gz  
FastCGI:php-5.3.8.tar.gz
DB:mysql-5.5.3-m3.tar.gz

4、Xcache

2.eAccelerator软件下载
#wget

是一个开源的opcode缓存器/优化器, 他能够提高服务器上的PHP性能,他通过把编译PHP后的数据缓冲到共享内存从而避免重复的编译过程, 能够直接使用缓冲区已编译的代码从而提高速度. 通常能够提高您的页面生成速率2到5倍, 降低服务器负载。 其实它与eAccelerator一样是PHP加速器扩展。

也可以到这里下载http://www.linuxidc.com/Linux/2011-04/34964.htm

以上就是他们的作用与区别,简单一点就是:eAccelerator,xcache是PHP缓存扩展,memcached、APC缓存是数据库缓存扩展,一般两者只有要安装其中一个即可,不要贪多。另外,实际测试中发现当Cache数量超过一定阀值的时候,APC的性能不如Memcache。所以在扩展的选择上,本人一般会选择xcache+memcached这个组合。

韦德体育 1

以上所述是小编给大家介绍的PHP中加速、缓存扩展的区别和作用详解(eAccelerator、memcached、xcache、APC )的全部叙述,希望对大家有所帮助,如果大家想了解更多内容敬请关注脚本之家网站!

上一篇:再数到第m只 下一篇:没有了

更多阅读

PHPA又是另一个流行的PHP加速软件,PHP C

编程 2020-04-27
接着我们要关注一下PHP加速的另一个领域―缓存工具软件。这类软件都是从优化PHP运行环境来...
查看全文

再数到第m只

编程 2020-04-27
猴王算法程序 一群猴子排成一圈,按1,2,...,n依次编号。然后从第1只开始数,数到第m只,把它踢...
查看全文

LDAP通常作为一个hierarchal数据库使用

编程 2020-04-27
韦德体育 ,1LDAP是什么LDAP是一个用来发布目录信息到许多不同资源的协议。通常它都作为一个...
查看全文

友情链接: 网站地图

Copyright © 2015-2019 http://www.koi-bumi.com. 韦德体育有限公司 版权所有