程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> 使用 Zend Opcache 加速 PHP,zendopcache

使用 Zend Opcache 加速 PHP,zendopcache

編輯:關於PHP編程

使用 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 Group
Zend 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/ 感謝原著

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved