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有运行的界面 |
[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之类的网页进行测试,您应该以较简单的网页来测试)。
| 回书目 上一节 下一节 |
|
· 第六章 你能帮我吗?.. · Linux笔试面试题选摘测.. · 08年5月软考网管上午真.. · 性能测试从零开始 目录 · 08年5月软考网工上午真.. · 上周拒绝服务攻击(DDo.. |
· 08年5月各大网上书店及.. · 2008年5月24日软考试题.. · 软件设计师专家临考模.. · 上周网络管理员专家自.. · 网络工程师自测获奖名.. · 08年4月各大网上书店及.. |
|
||||
| · NAC安全访问控制 · 网络布线测试仪器 · Windows Server 2008专.. · Windows远程桌面应用 · 网络故障排除宝典 · 运营商封堵ADSL共享 中.. · 解析35岁技术人的价值.. · 世纪枭雄比尔盖茨的王.. |
· 主流品牌防火墙配置 · ASP.NET开发教程 · 超级计算机TOP500专题 · Vista SP1对决XP SP3 · SQL Server 2008/2005.. · 程序员如何成长? · C#技术开发指南 · 虚拟化技术还有点“虚” |
|||
|
||||
| · SOA 面向服务架构 · SQL Server 2008/2005.. · Apache技术专题 · 三层交换技术专题 · SQL Server入门到精通 · Windows远程桌面应用 · C#技术开发指南 · Apache技术专题 |
· Windows集群服务应用 · C#技术开发指南 · 国际文档格式标准开战 · 路由器设置与口令恢复 · Linux 集群技术专题 · PHP开发应用手册 · SOA 面向服务架构 · 企业数据恢复指南 |
|||
|
||||
| · SQL Server入门到精通 · SQL Server 2008/2005.. · SOA 面向服务架构 · Apache技术专题 · C#技术开发指南 · 三层交换技术专题 · Apache技术专题 · C#技术开发指南 |
· Windows远程桌面应用 · 企业数据恢复指南 · Windows集群服务应用 · 路由器设置与口令恢复 · Linux 集群技术专题 · SOA 面向服务架构 · 了解统一威胁管理(UTM).. · 反垃圾邮件技术应用 |
|||