找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 2397|回复: 0

[教程] LAMP服务器性能优化技巧之加速PHP

[复制链接]
发表于 2013-4-9 12:52:41 | 显示全部楼层 |阅读模式 来自 中国–广东–湛江
目前LAMP (Linux + Apache + MySQL + PHP) 近几年来发展迅速,已经成为Web 服务器的事实标准。本文我们将介绍基于LAMP组合的服务器的性能优化技巧:加速PHP。
            Apache服务器优化、PHP优化、Mysql优化
            1.使用eaccelerator
            我们上面的介绍Apache服务器的优化,如果您曾经浏览过 PHP 的网页时,或许会发现:怎么 PHP 的速度慢慢的,这是怎么一回事啊?PHP 不是号称速度上面的反应是很快速的吗?怎么会慢慢的呢?这是由于 PHP 的程序代码去调用了太多的函式库,而这些函式库每次调用都需要由硬盘读出来,有没有办法提升 PHP 的执行速度啊。如果我们可以将这些在硬盘里面的函式库先读到高速缓存中( Cache ),由于内存的速度可比硬盘快多了。如此一来的话,当然可以提升不少速度。
            2、软件下载安装:
            wget http://internap.dl.sourceforge.n ... rator-0.9.3.tar.bz2
            tar jxf eaccelerator-0.9.3.tar.bz2
           
            /usr/local/bin/phpize
            ./configure --enable-eaccelerator=shared --with-php-config=/usr/local/bin/php-config
            make;make install
           
            修改/etc/php.ini文件,加入以下内容:
           
            extension='/PATH/TO/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'
           
            然后建立快存取数据目录:
           
            mkdir /tmp/eAccelerator
            chmod 0777 /tmp/eAccelerator
           
            从新启动Apache服务器:
           
            /etc/rc.d/init.d/httpd restart
           
            通过lynx浏览器打开Web页面查看通过phpinfo()已经可以看到图7,就表示安装成功。
            
                     
            图7 eAccelerator启用
            从图中可以看到:eAccelerator启用了。下面 使用ab命令:Apache HTTP 服务器性能测试工具,是一个测试你Apache http服务器的工具,你可以通过这个工具指定一个单位时间内向apache发出的请求数量来看看你的Apache和机器配合的性能如何。命令如下:
           
            /home/apache/bin/ab -c 20 -n100 –w http://localhost/phpinfo >1.html
           
            -c: 同时向服务器端发送的请求数目,默认状态下是一次只执行一个http请求。
            -n: 执行一次测试会话的时候所发出的请求数目。
            -w:打印输出结果到HTML表中,默认的表是两列n行白底黑框 。
            ApacheBench)的测试数据的 requests per second (以下简称 rps)一项是指每秒服务器返回的页面数,经过比较使用了 eAccelerator 后网页速度明显加快了。图8 lynx浏览器的 HTML格式测试结果。
            
                     
            图8 HTML格式测试结果
            3.使用Zend Optimizer
            Zend Optimizer用优化代码的方法来提高PHP 4.0应用程序的执行速度。实现的原理是对那些在被最终执行之前由运行编译器(Run-Time Compiler)产生的代码进行优化。一般情况下,执行使用Zend Optimizer的PHP程序比不使用的要快40%到100%。这意味着网站的访问者可以更快的浏览网页,从而完成更多的事务,创造更好的客户满意度。更快的反应同时也意味着可以节省硬件投资,并增强网站所提供的服务。所以,使用Zend Optimizer,就等于提高了电子商务的盈利能力。Zend Optimizer能给PHP用户带来很多益处,特别是那些运营网站的人。快速运行PHP程序可以显著降低服务器的CPU负载,并可以减少一半的反应时间,也就是从访问者点击链接到服务器开始读取页面之间的时间。
            Zend Optimizer安装是傻瓜化的,安装向导会自动根据你的选择来修改php.ini帮助你启动这个引擎。
            软件下载安装:
            wget http://downloads.zend.com/optimi ... glibc21-i386.tar.gz
            gunzip ZendOptimizer-3.0.0-linux-glibc21-i386.tar.gz
            tar vxf ZendOptimizer-3.0.0-linux-glibc21-i386.tar
            cd ZendOptimizer-3.0.0-linux-glibc21-i386
           
            ./install
           
            
                     
            图 9 Zend Optimizer安装向导
            从新启动Apache服务器:
            /etc/rc.d/init.d/httpd restart
           
            打开Web页面查看通过phpinfo()已经可以看到图,就表示Zend Optimizer安装成功。
            
                     
            图 10 Zend Optimizer安装成功
            然后可以使用ab命令进行再次测试。也可以使用Siege(http://www.joedog.org/siege/ )进行测试,它是一个压力测试和评测工具,设计用于WEB开发这评估应用在压力下的承受能力:可以根据配置对一个WEB站点进行多用户的并发访问,记录每个用户所有请求过程的相应时间,并在一定数量的并发访问下重复进行。

评分

参与人数 1金币 +1 收起 理由
猫性男孩 + 1 描述详细,值得鼓励

查看全部评分

发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;

如何回报帮助你解决问题的坛友,好办法就是点击帖子下方的评分按钮给对方加【金币】不会扣除自己的积分,做一个热心并受欢迎的人!

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则 需要先绑定手机号

关闭

站长推荐上一条 /1 下一条

QQ|侵权投诉|广告报价|手机版|小黑屋|西部数码代理|飘仙建站论坛 ( 豫ICP备2022021143号-1 )

GMT+8, 2024-11-22 04:19 , Processed in 0.035652 second(s), 10 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表