LAMP伺服器效能最佳化技巧之加速PHP

來源:互聯網
上載者:User

  目前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.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網站進行多使用者的並發訪問,記錄每個使用者所有請求過程的相應時間,並在一定數量的並發訪問下重複進行。



聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.