使用 Zend Opcache 加速 PHP,zendopcache
Optimizer+ 是 Zend 開發的閉源但可以免費使用的 PHP 最佳化加速組件,是第一個也是最快的 opcode 緩衝工具。現在,Zend 科技公司將 Optimizer+ 在 PHP License 下開源成為 Zend Opcache。
Zend OPcache 通過 opcode 緩衝和最佳化提供更快的 PHP 執行過程。它將先行編譯的指令檔儲存在共用記憶體中供以後使用,從而避免了從磁碟讀取代碼並進行編譯的時間消耗。同時,它還應用了一些代碼最佳化模式,使得代碼執行更快。
1. 什麼是 opcode 緩衝?
當解譯器完成對指令碼代碼的分析後,便將它們產生可以直接啟動並執行中間代碼,也稱為作業碼(Operate Code,opcode)。Opcode cache 的目地是避免重複編譯,減少 CPU 和記憶體開銷。如果動態內容的效能瓶頸不在於 CPU 和記憶體,而在於 I/O 操作,比如資料庫查詢帶來的磁碟 I/O 開銷,那麼 opcode cache 的效能提升是非常有限的。但是既然 opcode cache 能帶來 CPU 和記憶體開銷的降低,這總歸是好事 —— 本著環保的態度,也應該盡量減少消耗不是? :D
現代作業碼緩衝器(Optimizer+,APC2.0+,其他)使用共用記憶體進行儲存,並且可以直接從中執行檔案,而不用在執行前“還原序列化”代碼。這將帶來顯著的效能加速,通常降低了整體伺服器的記憶體消耗,而且很少有缺點。
2. Optimizer+ 與 APC 的優缺點對比
Optimizer+ 於 2013年3月中旬改名為 Opcache。
根據 PHP wiki 上的討論,Zend Opcache 即將整合到 php 5.5 中。作為 APC 的競爭者,新生的 Zend Opcache 很有可能取代 APC 的位置,雖然 OptimizerPlus 沒有象 APC 那樣的 user cache 功能。
OPTIMIZER+ 相對 APC 的優點
APC 相對 OPTIMIZER+ 的優勢
3. 使用 Zend Opcode
現在已經可以使用 Zend Opcache 替代 APC 作為 PHP 最佳化加速工具了。目前的 Zend Opcode 相容 PHP 5.2.*、5.3.*、5.4.* 和 PHP-5.5 開發版。不過,將來會取消對 PHP 5.2 的支援。
注意:Zend Opcache 與 eaccelerator 相衝突。要安裝 Zend Opcache,可能需要先卸載 eaccelerator —— 如果你用了這個加速模組的話。
從源碼安裝並配置
Zend Opcache 的原始碼託管在 github 上,目前還是叫做 ZendOptimizerPlus。
安裝步驟詳見其 README 檔案。
注意:
順便說一句,從源碼編譯安裝時需要用到 php-devel。README 中快速安裝一節的開頭就用到,
$PHP_DIR/bin/phpize
如果不清楚 phpize 的路徑,可以,
whereis phpize
README 檔案中也有相應的推薦最佳化設定。
從 EPEL 源安裝並配置
我不喜歡從源碼編譯安裝程式,一個是水平有限,一個就是怕麻煩。下面介紹從 EPEL 安裝源安裝 Zend Opcache,以 CentOS 上的操作為例,基於我的 VPS 的配置。
EPEL 社區已經提供了 Zend Opcache 的安裝包,可以直接 yum 安裝。當然,前提是已經配置使用了 EPEL 的安裝源。如果沒有,可以參考這裡。
提醒一下,REMI 安裝源上的 PHP 已經是 5.4 版本了。鑒於有人測試說 WordPress 在 PHP 5.4 上的效能要優於在 PHP 5.3 上的效能(10% faster and lower ram consuming),順便升級一下 PHP 也不是什麼壞事。
操作步驟:
查詢一下看看是否正確啟動了:
php -v
輸出結果類似於:
PHP 5.4.14 (cli) (built: Apr 11 2013 11:04:35)Copyright (c) 1997-2013 The PHP GroupZend Engine v2.4.0, Copyright (c) 1998-2013 Zend Technologies with Zend OPcache v7.0.1, Copyright (c) 1999-2013, by Zend Technologies
原文轉載於:http://cnzhx.net/blog/zendopcache-accelerate-php/ 感謝原著
http://www.bkjia.com/PHPjc/1095472.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/1095472.htmlTechArticle使用 Zend Opcache 加速 PHP,zendopcache Optimizer+ 是 Zend 開發的閉源但可以免費使用的 PHP 最佳化加速組件,是第一個也是最快的 opcode 緩衝工具。現...