最近想着如何優化一下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,如需轉載請自行聯系原作者