`
Tzhennan
  • 浏览: 58253 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

PHP缓存加速器原理

 
阅读更多

LAMP环境的PHP缓存加速器原理

在LAMP环境中,Apache服务是使用libphp5.so响应处理PHP程序请求的,整个流程如下:

1、Apache接收客户端的PHP程序请求并根据规则过滤。

2、Apache将PHP程序请求传递给PHP处理模块libphp5.so

3、PHP引擎定位磁盘上的PHP文件,并将其加载到内存中解析

4、PHP处理模块libphp5.so将PHP源代码编译成为opcode

5、PHP处理模块libphp5.so执行opcode,然后把opcode缓存起来

6、Apache接收客户端新的PHP程序请求,PHP引擎直接读取缓存执行opcode文件,并将结果返回。在这一次任务中,就无第4步的编译解析了,从而提升了PHP编译解析效率

 

LNMP环境PHP缓存加速器原理

在LNMP环境中,PHP引擎不再使用libphp5.so模块了,而是启动了独立的FCGI即php-fpm进程,由它监听来自nginx的PHP程序请求,并交给PHP引擎解析处理,整个执行流程大概如下:

1)Nginx接收客户端的PHP程序访问请求。

2)Nginx根据扩展名等过滤规则将PHP程序请求传递给解析PHP的FCGI进程(PHP-FPM)

3)PHP FPM进程调用PHP解析器读取站点磁盘上的PHP文件,并加载到内存中。

4)PHP解析器将PHP程序编译为opcode文件,然后把opcode缓存起来。

5)PHP FPM引擎执行opcode树,返回数据给Nginx,进而返回客户端。

6)Nginx 接收客户新的PHP程序请求,PHP FPM引擎就会直接读取缓存中的opcode执行,将结果返回,该过程中无需第4步操作,从而提升了PHP编译解析效率。

分享到:
评论

相关推荐

    php缓存加速器eAccelerator配置详解.doc

    【PHP缓存加速器eAccelerator配置详解】 一、eAccelerator介绍 1、背景 eAccelerator是一款免费且开源的PHP加速器,它旨在提升PHP脚本的执行效率,通过缓存编译后的PHP代码,减少服务器负载。eAccelerator的出现...

    PHP服务缓存加速优化实战.docx

    PHP 缓存加速器的原理是将编译后的操作码文件保存下来,并放到共享内存里,以便在下一次调用该 PHP 页面时重用它。这样可以避免了相同代码的重复编译,节省了 PHP 引擎重复编译的时间,降低了服务器负载,同时减少...

    LAMP与LNMP优化与缓存加速

    4. **LAMP环境PHP缓存加速原理** 在LAMP环境中,Apache接收请求,通过libphp5.so将PHP处理任务交给PHP引擎,引擎编译源代码为操作码,然后执行并缓存。后续请求可以直接使用缓存的操作码,加快响应速度。 5. **...

    php缓存技术

    本文将深入探讨PHP缓存的原理、重要性以及如何利用Redis这一高效缓存工具进行优化。 首先,我们需要理解什么是缓存。缓存是一种存储中间结果的技术,用于在需要时快速提供数据,而不是每次都重新计算或从远程源获取...

    服务器缓存设置 工具

    5. **APC (Alternative PHP Cache)**:PHP 的一种加速器,提供编译缓存和用户数据缓存功能,但已被 APCu 取代。 6. **Elasticache**(AWS):亚马逊提供的完全托管的缓存服务,支持 Redis 和 Memcached。 五、缓存...

    php加速缓存器opcache,apc,xcache,eAccelerator原理与配置方法实例分析

    主要介绍了php加速缓存器opcache,apc,xcache,eAccelerator原理与配置方法,结合实例形式分析了php加速缓存器opcache,apc,xcache,eAccelerator的基本功能、原理及扩展配置相关操作技巧,需要的朋友可以参考下

    使用APC缓存优化PHP程序.rar

    APC是一种广泛使用的PHP加速器,它通过缓存PHP编译后的代码来减少CPU使用和提高网页加载速度。 在PHP环境中,每次请求都会对PHP源代码进行解析和编译,这在高负载或高流量的网站上可能会成为性能瓶颈。APC通过存储...

    php缓存技术介绍

    PHP缓存技术是提高Web应用程序性能的关键策略之一。缓存技术的基本原理是将频繁访问的数据存储在高速存储中,以减少对慢速存储(如硬盘)的依赖,从而提高响应速度。在PHP开发中,缓存可以应用于多个层面,包括数据...

    集中式缓存系统 memcached.zip

    它使用slab分配器管理内存,将内存划分为多个slabs,每个slab包含多个固定大小的chunk。这种分配方式能有效避免内存碎片,确保快速的数据存储和检索。 ### 3. 分布式策略 Memcached采用哈希算法进行分布式处理,将...

    Memcached分布式缓存

    Memcached是一款高性能、分布式内存对象缓存系统,旨在通过减轻数据库负担来加速动态网络应用的速度。它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高网站或应用的响应速度。 **1.2 Memcached的特征...

    aspell-0.60.5.tar.gz_php_php apc

    标题中的"aspell-0.60.5.tar.gz"是一...APC作为PHP的opcode缓存器,通过内存缓存提高PHP性能,对于PHP应用的运行效率至关重要。虽然现在APC已被OPcache替代,但理解其工作原理对于PHP开发者来说仍具有一定的学习价值。

    php组建php组建

    1. **缓存技术**:使用OPcache(Opcode Cache)加速PHP脚本执行。在`php.ini`中启用OPcache: ```ini opcache.enable=1 ``` 2. **内存限制**:合理设置`memory_limit`,避免内存不足导致的问题。 3. **错误...

    php基础学习

    本教程将带你深入理解PHP基础,包括数据库操作、静态化与缓存技术、ADO(ActiveX Data Objects)、LDAP(轻量级目录访问协议)、邮件发送、性能加速器、PEAR(PHP Extension and Application Repository)、XML处理...

    XCache-3.0.0-php-5.3.18-Win32-VC9-x86.zip

    XCache是一款高效的PHP缓存系统,它作为一个免费的、开源的、高性能的PHP加速器,通过缓存编译后的PHP代码来提高PHP脚本的执行速度,从而显著提升网站性能。在本文中,我们将深入探讨XCache的核心功能、与PHP的兼容...

    php_apcu-4.0.7-5.5-ts-vc11-x86

    APCu(Alternative PHP Cache)是一个开放源代码的、免费的PHP加速器,它实现了用户空间的Opcode缓存。Opcode缓存技术将PHP源代码转换成中间语言(Opcode),然后将这些Opcode存储在内存中,使得后续请求可以直接...

    为PHP5.4开启Zend OPCode缓存

    - `opcache.max_accelerated_files=4000`: 设置最多加速的文件数为4000个,超出这个数量的文件不会被缓存。 - `opcache.revalidate_freq=60`: 设置文件验证频率为60秒,即每60秒检查一次文件是否被修改。 - `opcache...

Global site tag (gtag.js) - Google Analytics