快速业务通道

为PHP应用提速、提速、再提速!第1部分

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-05-22

为PHP应用提速、提速、再提速!,第 1 部分: 使用操作码缓存软件提升性能和吞吐量

在很短的时间内,PHP成为了一种非常流行的开发 Web 应用程序的程序设计语言。对初学者来说,PHP易于安装和学习。对于有经验的开发人员而言,PHP(从V5开始)提供了强大的面向对象特性。PHP开发人员拥有庞大的群体,大量的开源及商业库和工具扩展了该核心语言的功能。PHP能迅速产生可视化结果,因此备受众人推崇。

与其他开发Web应用程序的脚本语言(包括Perl、Python和Ruby)相似,每次HTTP请求调用时,PHP代码都会被解析和翻译为操作码(PHP引擎直接执行的原语指令 —— 类似于汇编语言)再执行。在要求很低或可忽略的情况下,服务器看上去能立即执行这个复杂的解释过程。但是一旦处理的页面增加,解释 —— 从本质上说,重复工作 —— 就会对服务器造成很大的负担。在某些情况下,“编译”PHP代码的时间会远远超过执行该代码所需的时间。因此,当需求增加时,您常常会自食其果,因为处理这些不断解释和动态生成的页面需要消耗更多的系统资源。

若您对处理器和 RAM 的预算没有限制,那么就大可不必通过优化应用栈(硬件、操作系统、数据库、Web 服务器和 PHP 代码)来保证站点的可响应性。然而,由于资金通常都是最缺乏的资源,所以改善性能是必不可少的。调优意味着对系统增加内存、修改操作系统参数、加速 Web 或数据库服务器、提高代码效率或者这其中的一些组合。每一项都有其各自的作用。

不要浪费周期 —— 重复使用

节约 CPU 周期的另一种方法是减少运行 PHP 应用程序所需的重复工作。当然,没有必要每次都把同样的 PHP 代码翻译一遍。PHP 代码被翻译成操作码后,可以把它保存起来并重复使用 —— 直到原始代码被修改。确实,缓存 —— 用于保存和重用 PHP 操作码 —— 是几种 PHP 加速器内部的机制,包括开源 Alternative PHP Cache (APC)、支持 PHP 的 Turck MMCache、XCache、eAccelerator 和商业 Zend Platform。后三类加速器能够缓存和优化字节码,这为系统提供了更多的速度提升。

这个月,我将探究如何安装、部署和配置 XCache。XCache 相对较新,但是很多站点使用它的效果都很好。此外,XCache 易于构建、安装和配置,因为它是做为 PHP 扩展实现的。不需对 Apache 和 PHP 进行重编译。

本文基于 XCache V1.2.0。它可为 PHP V4.3.11 至 V4.4.4、PHP V5.1.x 至 V5.2.x 以及 PHP V6 的早期版本提供可靠支持(XCache 并不支持 PHP V5.0.x)。XCache 兼容 mod_php 和 FastCGI 但并不支持 Common Gateway Interface (CGI) 和命令行 PHP 解释器。XCache 源代码能构建在许多系统上,包括 FreeBSD、Sun Solaris、Linux® 和这里所示的 Mac OS X。使用 Cygwin UNIX® 仿真环境或 Visual C,能在 Microsoft® Windows® 上构建 XCache。还可以为 Cygwin 或原生 Win32 构建 XCache。后者与 PHP 的官方 Win32 版本兼容。

本文的演示基于 Apache V2.2.3、PHP V5.2.0、XCache V1.2.0(2006 年 10 月发布)和 Mac OS X V10.4.8 Tiger 上的 Xcode V2.4.1。硬件平台为配有 2-GHz Intel® Core Duo 处理器和 2 GB RAM 的 Apple MacBook。

构建 XCache 的基本步骤

在开始之前,首先确保 PHP 正常安装并核实 phpize 是否位于 shell 的 PATH 下。同时,还需要一个 C 编译器,例如 GNU Compiler Collection (GCC),和一组包含 make 和 m4 的开发工具。在 Mac OS X 上,免费的 Xcode 软件开发环境提供了必需的构建工具。

完成以下操作步骤,在 Mac OS X 上构建、部署 XCache 并对其进行性能检测。在其他平台上构建 XCache 与之类似。如果使用 Linux,则

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号