天天看點

php加速器eAccelerator安裝及效果對比

最近想着如何優化一下php,找到了eAccelerator這個開源軟體,一下引用一段官方說明介紹eAccelerator:

eAccelerator是一款php加速和優化軟體,通過将編譯後的php緩存起來來提高php的性能。通常能夠降低伺服器負載并加快php執行1-10倍(官方說法)。

注:隻支援5.1以上的php版本

下面記錄一下安裝過程以及使用前後的效果對比。

1、下載下傳安裝

   依賴的軟體包:autoconf, automake, libtool, m4

   tar jxvf eaccelerator-0.9.6.1.tar.bz2

   cd eaccelerator-0.9.6.1

然後,執行 

若執行時遇到關于autoconf的報錯,如下

    Cannot find autoconf. Please check your autoconf installation and the

    $PHP_AUTOCONF environment variable. Then, rerun this script.

此問題是因為沒有安裝m4和autoconf,yum安裝即可

    yum install m4

    yum install autoconf

編譯完成後,make & makeinstall

2、修改php配置檔案,php添加eAccelerator有兩種方式,一種是作為zend的擴充,一種作為php的擴充。先說作為php的擴充:

在php.ini的擴充配置部分(可在php.ini裡搜尋extension)添加如下内容

eaccelerator.shm_size="16"   #eAccelerator可用的最大記憶體,機關M

eaccelerator.cache_dir="/tmp/eaccelerator"   #磁盤用來存儲緩存的目錄,eAccelerator在這裡存儲預編譯代碼、session資料、内容和使用者條目。同樣的内容也可以存儲到記憶體中以便更快的讀取。

eaccelerator.enable="1"   #1允許   0禁止

eaccelerator.optimizer="1"   #意識是是否允許内部優化器,1允許 0禁止

eaccelerator.check_mtime="1"   #是否允許檢查php檔案是否更改,如果你想重新編譯php檔案在他們修改後,則這裡應該設定為“1”

eaccelerator.debug="0"

eaccelerator.filter=""

eaccelerator.shm_max="0"

eaccelerator.shm_ttl="0"

eaccelerator.shm_prune_period="0"   #從記憶體中清除緩存的周期,0為不清除

eaccelerator.shm_only="0"   #是否允許在磁盤緩存編譯過的檔案。這不會影響到session資料和内容的緩存。0表示同時啟用磁盤和記憶體緩存

配置完成後,重新開機apache。打開幾個頁面之後,觀察指定的目錄裡有沒有檔案産生。如果想獲得更多地資訊,可以拷貝control.php至到網站目錄下并且在php.ini檔案中添加

eaccelerator.allowed_admin_path “control.php路徑”

同時還可以設定通路control.php的使用者名和密碼,在control.php檔案裡設定即可。

效果:我們公司的網站通路量沒那麼大,優化後的效果不是很明顯。但是進行壓測的時候性能還是有一定的提升。

     本文轉自kai404 51CTO部落格,原文連結:http://blog.51cto.com/kaifly/1369519,如需轉載請自行聯系原作者