LAMP服務器性能優化技巧之加速PHP
目前LAMP (Linux + Apache + MySQL + PHP) 近幾年來發展迅速,已經成為Web 服務器的事實標準。本文我們將介紹基于LAMP組合的服務器的性能優化技巧:加速PHP。
1.使用eaccelerator
我們上面的介紹Apache服務器的優化,如果您曾經瀏覽過 PHP 的網頁時,或許會發現:怎么 PHP 的速度慢慢的,這是怎么一回事啊?PHP 不是號稱速度上面的反應是很快速的嗎?怎么會慢慢的呢?這是由于 PHP 的程序代碼去調用了太多的函式庫,而這些函式庫每次調用都需要由硬盤讀出來,有沒有辦法提升 PHP 的執行速度啊。如果我們可以將這些在硬盤里面的函式庫先讀到高速緩存中( Cache ),由于內存的速度可比硬盤快多了。如此一來的話,當然可以提升不少速度。
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文件,加入以下內容:
- 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/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安裝向導
從新啟動Apache服務器:
- /etc/rc.d/init.d/httpd restart
打開Web頁面查看通過phpinfo()已經可以看到圖,就表示Zend Optimizer安裝成功。
圖 10 Zend Optimizer安裝成功
然后可以使用ab命令進行再次測試。也可以使用Siege(http://www.joedog.org/siege/ )進行測試,它是一個壓力測試和評測工具,設計用于WEB開發這評估應用在壓力下的承受能力:可以根據配置對一個WEB站點進行多用戶的并發訪問,記錄每個用戶所有請求過程的相應時間,并在一定數量的并發訪問下重復進行。
【編輯推薦】