PHP ~與各加速工具的效能對比~

來源:互聯網
上載者:User

標籤:style   blog   class   code   java   tar   

參與測試的加速器:Xcache,Opcache,hhvm

 

Xcache簡介

前面已經介紹了PHP加速器的原理和功用(參見LAMP架構之PHP-FPM 伺服器),xcache作為目前使用廣泛的PHP加速器之一,其效能比早期的eAccelerator加速器要優良,故本次就對比一下PHP程式在執行時加速器xcache對其的效能影響。

 

安裝xcache

# 安裝tar xf xcache-3.0.3.tar.gzcd xcache-3.0.3/usr/local/php/bin/phpize # xcache是作為php的外接模組安裝的./configure --enable-xcache --with-php-config=/usr/local/php/bin/php-configmake && make install# 安裝結束時,會出現類似如下行:Installing shared extensions:     /usr/local/php/lib/php/extensions/no-debug-non-zts-20100525/# 編輯php.ini,整合php和xcache:# 首先將xcache提供的範例配置匯入php.inimkdir /etc/php.d # 這是前面安裝PHP時配置的設定檔掃描目錄cp xcache.ini /etc/php.d # xcache.ini檔案在xcache的源碼目錄中。# 接下來編輯/etc/php.d/xcache.ini,找到extension開頭的行,修改為如下行:extension = /usr/local/php/lib/php/extensions/no-debug-non-zts-20100525/xcache.so# 如果php.ini檔案中有多條extension指令行,要確保此新增的行排在第一位。# 查看xcache是否已安裝成功:/usr/local/php/bin/php -m |grep -i xcache

 

Opcache簡介

新一代PHP加速器,由Zend公司研發,其實現原理與Xcache類似,都是把PHP執行後的資料緩衝到記憶體中從而避免重複的編譯過程,能夠直接使用緩衝區已編譯的代碼從而提高速度,降低伺服器負載,但效能卻比Xcache更加優越,詳見測試結果

安裝Opcache

 

wget http://pecl.php.net/get/zendopcache-7.0.2.tgztar xzf zendopcache-7.0.2.tgzcd zendopcache-7.0.2/usr/local/php/bin/phpize./configure --with-php-config=/usr/local/php/bin/php-configmakemake install# 設定檔設定,可直接在php.ini的最後添加如下內容,但在此在PHP設定檔的掃描目錄php.d下配置新檔案opcache.ini,易於管理,php-config-scan-dir是在編譯安裝PHP時定義的# vi /etc/php.d/opcache.ini[opcache]zend_extension=/usr/local/php/lib/php/extensions/no-debug-non-zts-20100525/opcache.soopcache.memory_consumption=128 # 分配的記憶體大小,單位MB,即能夠儲存多少先行編譯的PHP代碼opcache.interned_strings_buffer=8 # interned字串占記憶體大小,單位MBopcache.max_accelerated_files=4000 # 允許緩衝的檔案最大數量opcache.revalidate_freq=60 # 多長時間檢查檔案時間戳記,以改變共用記憶體配置,單位為sopcache.fast_shutdown=1 # 是否開啟快速關閉隊列功能,1為開啟opcache.enable_cli=1 # 允許緩衝CLI下的PHP程式#檢查模組安裝成功:/usr/local/php/bin/php -m |grep -i opcache

hhvm簡介

HipHop VM(HHVM)是Facebook推出的用來執行PHP代碼的虛擬機器,它是一個PHP的JIT(Just-In- Time)編譯器,同時具有產生快速代碼和即時編譯的優點;

hhvm將PHP代碼編譯轉換成C++程式來執行,執行效率得到顯著提升;

根據 Facebook透漏,HHVM在速度方面獲得了顯著改進,比目前使用的PHP解譯器快60%,而使用記憶體減少90%

安裝hhvm

因為目前hhvm還處以研發階段,國內用於生產環境的還很少,安裝所需的環境比較複雜(如CentOS6.5下的boost-system和boost-filesystem的版本就過低),故本人還在調試測試階段,等出了測試結果,再將hhvm的測試結果一併貼出。

 

測試步驟

# 另找一台虛擬機器,對HTTPD伺服器(192.168.1.110)進行壓力測試# 測試載入器使用Apache內建的基準測試載入器ab即可# 測試方法如下:ab -c 20 -n 2000 http://192.168.1.110:8080/index.php# 註:測試採用20並發,在不影響訪問的情況下,查看xcache加速器的加速效果;測試頁面使用上一講剛部署的phpMyAdmin的登入頁面index.php即可# 註:為了更好的測試出PHP加速器的緩衝特性,可連續多測試幾次,得到穩定值

 

測試結果對比

從可以看出,PHP加速器對PHP程式的執行過程加速明顯;綜合每秒的請求數和PHP伺服器的負載來看:

xcache使得PHP程式的執行效率提升了3-4倍;

Opcache使得PHP程式的執行效率提升了6-7倍;

據說hhvm對PHP程式的加速效果更加強悍,敬請期待!

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.