频 道 直 达 - 新闻 - 培训 - 软件 - 教程 - 前沿 - 组网 - 系统应用 - 安全 - 编程 - 存储 - 操作系统 - 数据库 - 服务器 - 专题 - 产品 - 案例库 - 读书 - 博客 - BBS
51CTO.COM_中国最大的网络技术网站
找资料:

18.5.1 PHP强化模块与Apache简易效率测试

作者: 鸟哥 出处:机械工业出版社华章公司  2007-12-05 15:23    砖    好    评论   进入论坛
阅读提示:《鸟哥的Linux私房菜——服务器架设篇》(第二版)第18章的主要介绍的是WWW服务器。本文主要介绍的是PHP强化模块与Apache简易效率测试。

18.5  日志文件分析及PHP强化模块等软件说明

除了这些基本的Apache使用方式之外,还有哪些事情是需要注意的呢?当然还有很多,包括有趣的PHP效率强化模块、日志文件分析以及了解整个Apache的使用情况等。

18.5.1  PHP强化模块与Apache简易效率测试

虽然PHP网页程序标榜的是速度快,不过因为PHP毕竟是先将一些可用函数编译成模块,然后当网页使用到该PHP程序的时候,再通过PHP模块来实现程序所需要的行为。由于多了一道手续,所以它的执行效率还是有别于传统编译的程序语言。

那么如果可以将PHP程序预先转换成可直接执行的binary file,那么不就可以直接读取进而加快速度吗?没错!该工具称为编译器。其中有一套软件称为eaccelerator,eaccelerator可以将PHP程序、PHP核心及相关库函数预先编译后暂存下来,当以后使用时可以直接执行,再加上它可以优化PHP程序,因此,它可以增快您的PHP网页速度。

eaccelerator的官方网站为:http://eaccelerator.net/HomeUk。整个安装的流程很简单,先下载软件的源代码,这里假设将它下载到/root目录中,另外必须确定已经安装php-devel、autoconf、automake、m4、libtool等软件,操作如下(鸟哥是以0.9.5版本为范例)。

1. 解压缩文件
[root@linux ~]# cd /usr/local/src
[root@linux src]# tar -jxvf /root/eaccelerator-0.9.5.tar.bz2
[root@linux src]# cd eaccelerator-0.9.5/

2.利用phpize进行PHP程序的预处理
[root@linux eaccelerator-0.9.5]# phpize
#过程中会出现一些警告信息,不要理它
[root@linux eaccelerator-0.9.5]#./configure--enable-eaccelerator=shared \
>--with-php-config=/usr/bin/php-config
[root@linux eaccelerator-0.9.5]# make

3. 将它整个安装起来
[root@linux eaccelerator-0.9.5]# make install
# 此时这个新编译的模块会被放置到/usr/lib/php4/eaccelerator.so中

将模块处理完毕后,接下来就是让PHP使用这个模块,操作如下。

1. 预先加载这个PHP模块
[root@linux ~]# vi /etc/ld.so.conf
#新增这一行即可
/usr/lib/php4

[root@linux ~]# ldconfig
#关于ld.so.conf以及ldconfig已在《鸟哥的私房菜——基础学习篇》谈过,请自行参考

2. 修改php.ini 
[root@linux ~]# vi /etc/php.ini
# 在这个文件的最下面加入这几行
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; http://eaccelerator.net/HomeUk ;
; 2006/11/08 VBird               ;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
extension="eaccelerator.so"
eaccelerator.shm_size="16"
eaccelerator.cache_dir="/tmp/eaccelerator"
eaccelerator.enable="1"
eaccelerator.optimizer="1"
eaccelerator.check_mtime="1"
eaccelerator.debug="0"
eaccelerator.filter=""
eaccelerator.shm_max="0"
eaccelerator.shm_ttl="0"
eaccelerator.shm_prune_period="0"
eaccelerator.shm_only="0"
eaccelerator.compress="1"
eaccelerator.compress_level="9"

3. 建立eaccelerator的暂存数据,重点在于权限要设置正确
[root@linux ~]# mkdir /tmp/eaccelerator
[root@linux ~]# chmod 777 /tmp/eaccelerator
[root@linux ~]# apachectl restart

需要注意的是:eaccelerator是根据目前这一版的PHP核心所编译出来的,所以如果PHP开发出新版本,您也顺利更新到新版本,那您的eaccelerator就必须自行手动再更新一次,以配合到正确的PHP版本,否则这个模块将不会正确运行。

那如何确认这个模块是否在正确运行呢?您可以利用我们在启动PHP那个小节内谈到的phpinfo()函数来查阅,通过浏览器应该会看到如图18-9所示的界面。

图18-9 确定eaccelerator有运行的界面

如果您的eaccelerator没有启动的话,那就看不到图18-9所示的界面了。通过这个操作测试一下吧。接下来利用Apache提供的小程序来测试一下网站的效率。这个程序名为ab,它可以主动向主机重复要求多个数据来确认主机的效率。
[root@linux ~]# ab [-dSk] [-c number] [-n number] 网页文件名
参数:
-d,不要显示saved table的百分比资料;通常不要那个数据,所以会加-d
-k,还记得上面的KeepAlive?加入-k才会有这样的功能测试
-S,不显示长信息,仅显示类似min/avg/max的简短易懂信息
-c,同时有多少个“同时联机”的设置(可想象成同时联机的IP)
-n,同一个联机建立几个要求通道(可想象成同一个IP要求的几条联机)
更多的信息请自行man ab 

# 针对刚刚测试的phpinfo.php文件
[root@linux ~]# ab -dSk -c100 -n100 http://localhost/phpinfo.php
This is ApacheBench, Version 2.0.41-dev <$Revision: 1.141 $> apache-2.0
Copyright (c) 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Copyright (c) 1998-2002 The Apache Software Foundation,
http://www.apache.org/
…
Total transferred:      4549407 bytes
HTML transferred:       4532922 bytes
Requests per second:    125.21 [#/sec] (mean)
Time per request:       798.628 [ms] (mean)
Time per request:       7.986 [ms] (mean, across all concurrent requests)
Transfer rate:          5562.04 [Kbytes/sec] received
…

根据这个软件的输出您会知道每秒钟的传输速率、最大传输速度等,从而可以粗略了解基本效率。不过鸟哥这个程序是在自己的机器上测试的,速度快是正常的。您可以在网络的另一头来测试(注:这个ab程序无法对MySQL之类的网页进行测试,您应该以较简单的网页来测试)。

【责任编辑:董书 TEL:(010)68476606】

回书目   上一节   下一节
专题
Linux——从菜鸟到高手
Linux/Solaris服务器的安全配置
Linux 集群技术专题
Linux中文环境
Linux防火墙
我也说两句

匿名发表

(如果看不清请点击图片进行更换)


中 国 最 大 的 网 络 技 术 网 站 ·
技 术 成 就 梦 想
订阅技术快讯
电子杂志下载
名称:SQL Server数据库管理精品黄皮书
简介:书中文章经过精挑细选,便于用户能根据自己的实际工作和学习,快速在本书寻找到相关资料。内容涵盖了SQL Server的安装与升级、语句查询、数据备份和恢复、自动化任务、数据同步、数据字典、安全和预防、性能和优化、集群等各方面应用信息,以及DBA管理人员在数据库管理工作中
名称:2007路由技术大全
简介:《2007路由技术大全》由51CTO.com网站特别策划制作,该书包括路由器技术、路由器产品、路由器配置、安全设置、路由器故障处理、路由器密码恢复,以及广大网友在实践使用中的心得经验和技巧文章,内容注重实用性,适用于初学者入门,也适合多年从业者提高,是一本实践和理论完
名称:网络安全精品应用黄皮书
简介:《2007精品网络安全黄皮书》包括了9个大类24个小类, 800余篇文章,内容包含了熊猫烧香病毒、DDOS攻击、ARP病等热点问题的介绍及解决方案。从病毒查杀、防范、系统、数据等各方面的安全设置到黑客技术的了解、防范,涉及到了安全应用的全部领域, 由浅至深内容全面。
浏览器的战国时代
浏览器的战国时代
ARP攻击防范与解决方案
ARP攻击防范与解决方案
NAC安全访问控制
NAC安全访问控制
· NAC安全访问控制
· 网络布线测试仪器
· Windows Server 2008专..
· Windows远程桌面应用
· 网络故障排除宝典
· 运营商封堵ADSL共享 中..
· 解析35岁技术人的价值..
· 世纪枭雄比尔盖茨的王..
· 主流品牌防火墙配置
· ASP.NET开发教程
· 超级计算机TOP500专题
· Vista SP1对决XP SP3
· SQL Server 2008/2005..
· 程序员如何成长?
· C#技术开发指南
· 虚拟化技术还有点“虚”
ARP攻击防范与解决方案
ARP攻击防范与解决方案
SQL Server 2008/2005全解
SQL Server 2008/2005全解
SOA 面向服务架构
SOA 面向服务架构
· SOA 面向服务架构
· SQL Server 2008/2005..
· Apache技术专题
· 三层交换技术专题
· SQL Server入门到精通
· Windows远程桌面应用
· C#技术开发指南
· Apache技术专题
· Windows集群服务应用
· C#技术开发指南
· 国际文档格式标准开战
· 路由器设置与口令恢复
· Linux 集群技术专题
· PHP开发应用手册
· SOA 面向服务架构
· 企业数据恢复指南
ARP攻击防范与解决方案
ARP攻击防范与解决方案
SQL Server 2008/2005全解
SQL Server 2008/2005全解
SQL Server入门到精通
SQL Server入门到精通
· SQL Server入门到精通
· SQL Server 2008/2005..
· SOA 面向服务架构
· Apache技术专题
· C#技术开发指南
· 三层交换技术专题
· Apache技术专题
· C#技术开发指南
· Windows远程桌面应用
· 企业数据恢复指南
· Windows集群服务应用
· 路由器设置与口令恢复
· Linux 集群技术专题
· SOA 面向服务架构
· 了解统一威胁管理(UTM)..
· 反垃圾邮件技术应用