LAMP服務(wù)器性能優(yōu)化技巧之加速PHP
Apache服務(wù)器優(yōu)化、PHP優(yōu)化、Mysql優(yōu)化
1.使用eaccelerator
我們上面的介紹Apache服務(wù)器的優(yōu)化,如果您曾經(jīng)瀏覽過 PHP 的網(wǎng)頁時,或許會發(fā)現(xiàn):怎么 PHP 的速度慢慢的,這是怎么一回事啊?PHP 不是號稱速度上面的反應(yīng)是很快速的嗎?怎么會慢慢的呢?這是由于 PHP 的程序代碼去調(diào)用了太多的函式庫,而這些函式庫每次調(diào)用都需要由硬盤讀出來,有沒有辦法提升 PHP 的執(zhí)行速度啊。如果我們可以將這些在硬盤里面的函式庫先讀到高速緩存中( Cache ),由于內(nèi)存的速度可比硬盤快多了。如此一來的話,當(dāng)然可以提升不少速度。
2、軟件下載安裝:
wget http://internap.dl.sourceforge.net/sourceforge/eaccelerator/eaccelerator-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文件,加入以下內(nèi)容:
- 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"
然后建立快存取數(shù)據(jù)目錄:
- mkdir /tmp/eAccelerator
- chmod 0777 /tmp/eAccelerator
從新啟動Apache服務(wù)器:
- /etc/rc.d/init.d/httpd restart
通過lynx瀏覽器打開Web頁面查看通過phpinfo()已經(jīng)可以看到圖7,就表示安裝成功。
圖7 eAccelerator啟用
從圖中可以看到:eAccelerator啟用了。下面 使用ab命令:Apache HTTP 服務(wù)器性能測試工具,是一個測試你Apache http服務(wù)器的工具,你可以通過這個工具指定一個單位時間內(nèi)向apache發(fā)出的請求數(shù)量來看看你的Apache和機(jī)器配合的性能如何。命令如下:
- /home/apache/bin/ab -c 20 -n100 –w http://localhost/phpinfo >1.html
-c: 同時向服務(wù)器端發(fā)送的請求數(shù)目,默認(rèn)狀態(tài)下是一次只執(zhí)行一個http請求。
-n: 執(zhí)行一次測試會話的時候所發(fā)出的請求數(shù)目。
-w:打印輸出結(jié)果到HTML表中,默認(rèn)的表是兩列n行白底黑框 。
ApacheBench)的測試數(shù)據(jù)的 requests per second (以下簡稱 rps)一項是指每秒服務(wù)器返回的頁面數(shù),經(jīng)過比較使用了 eAccelerator 后網(wǎng)頁速度明顯加快了。圖8 lynx瀏覽器的 HTML格式測試結(jié)果。
圖8 HTML格式測試結(jié)果
3.使用Zend Optimizer
Zend Optimizer用優(yōu)化代碼的方法來提高PHP 4.0應(yīng)用程序的執(zhí)行速度。實現(xiàn)的原理是對那些在被最終執(zhí)行之前由運(yùn)行編譯器(Run-Time Compiler)產(chǎn)生的代碼進(jìn)行優(yōu)化。一般情況下,執(zhí)行使用Zend Optimizer的PHP程序比不使用的要快40%到100%。這意味著網(wǎng)站的訪問者可以更快的瀏覽網(wǎng)頁,從而完成更多的事務(wù),創(chuàng)造更好的客戶滿意度。更快的反應(yīng)同時也意味著可以節(jié)省硬件投資,并增強(qiáng)網(wǎng)站所提供的服務(wù)。所以,使用Zend Optimizer,就等于提高了電子商務(wù)的盈利能力。Zend Optimizer能給PHP用戶帶來很多益處,特別是那些運(yùn)營網(wǎng)站的人??焖龠\(yùn)行PHP程序可以顯著降低服務(wù)器的CPU負(fù)載,并可以減少一半的反應(yīng)時間,也就是從訪問者點(diǎn)擊鏈接到服務(wù)器開始讀取頁面之間的時間。
Zend Optimizer安裝是傻瓜化的,安裝向?qū)詣痈鶕?jù)你的選擇來修改php.ini幫助你啟動這個引擎。
軟件下載安裝:
wget http://downloads.zend.com/optimizer/3.0.0/ZendOptimizer-3.0.0-linux-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安裝向?qū)?/P>
從新啟動Apache服務(wù)器:
- /etc/rc.d/init.d/httpd restart
打開Web頁面查看通過phpinfo()已經(jīng)可以看到圖,就表示Zend Optimizer安裝成功。
圖 10 Zend Optimizer安裝成功
然后可以使用ab命令進(jìn)行再次測試。也可以使用Siege(http://www.joedog.org/siege/ )進(jìn)行測試,它是一個壓力測試和評測工具,設(shè)計用于WEB開發(fā)這評估應(yīng)用在壓力下的承受能力:可以根據(jù)配置對一個WEB站點(diǎn)進(jìn)行多用戶的并發(fā)訪問,記錄每個用戶所有請求過程的相應(yīng)時間,并在一定數(shù)量的并發(fā)訪問下重復(fù)進(jìn)行。
相關(guān)文章
linux corosync+pacemaker+drbd+mysql配置安裝詳解
這篇文章主要介紹了corosync+pacemaker+drbd+mysql配置安裝詳解,需要的朋友可以參考下2016-05-05Linux中對lvm邏輯卷分區(qū)大小的調(diào)整教程(針對xfs與ext4不同文件系統(tǒng))
這篇文章主要給大家介紹了關(guān)于Linux中對lvm邏輯卷分區(qū)大小的調(diào)整教程(針對xfs與ext4不同文件系統(tǒng))的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考借鑒,下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2018-10-10Linux日志中查找關(guān)鍵字及其前后的信息實例方法
在本篇文章里小編給大家整理的是關(guān)于Linux日志中查找關(guān)鍵字及其前后的信息實例方法,需要的朋友們可以學(xué)習(xí)下。2019-10-10在 Linux 上用 DNS 實現(xiàn)簡單的負(fù)載均衡的方法
這篇文章主要介紹了在 Linux 上用 DNS 實現(xiàn)簡單的負(fù)載均衡的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-08-08Centos 7下利用crontab定時執(zhí)行任務(wù)詳解
這篇文章主要給大家介紹了關(guān)于Centos 7下利用crontab定時執(zhí)行任務(wù)的相關(guān)資料,文中對crontab進(jìn)行了詳細(xì)的介紹,并給出了一些實例代碼供大家參考學(xué)習(xí),需要的朋友們下面跟著小編一起來學(xué)習(xí)學(xué)習(xí)吧。2017-06-06在CentOS VPS上通過SSH安裝 MySQL的方法圖解
這篇文章主要介紹了在CentOS VPS上通過SSH安裝 MySQL,需要的朋友可以參考下2018-12-12