環境:centos-6.4x86-64php
所需軟件:php-5.4.24xcache-3.1.0 APC-3.1.10 zendopcache-7.0.2 mysql
由於php是腳本類語言執行時要進行翻譯成opcode操做碼,若是每次訪問php頁面都要進行翻譯會很耗資源並且很慢,因此要加速來提升效率。sql
(一) APC Alternative PHP Cacheapache
http://pecl.php.net/package-info.php?package=APCcentos
APC運行於Linux和FreeBSD,你須要本身編譯安裝。按照其開發人員的說法,在他們的測試環境下能夠提升腳本速度50%-400%。而且APC是個開源項目,已經加入了PHP的PECL庫,很值得一試。緩存
(二) Turck MMCache服務器
http://turck-mmcache.sourceforge.net/ide
Turck MMCache彷佛是此類軟件中目前最受歡迎的一種,它開放源代碼,徹底免費。它將PHP代碼預編譯並緩存起來,同時也對PHP運行環境進行必定優化。按照其官方文檔的說法,MMCache能夠明顯地減輕服務器的負載,並提升腳本執行速度1-10倍。MMCache與另外一個知名的加速軟件Zend Optimizer兼容,但注意必需先安裝MMCache(php.ini中設置)。除了加快PHP程序的速度,MMCache還能夠將PHP代碼加密。Turck MMCache同時支持Linux和Win32平臺。wordpress
(三) PHPA the PHP Accelerator函數
http://www.php-accelerator
PHPA又是另外一個流行的PHP加速軟件。在其官方網站上有分別使用PHPA與APC、Zend Cache的PHP腳本執行測試對比,其表現略優於APC,略遜於Zend Cache。
PHPA支持Linux, FreeBSD, OpenBSD, BSDi和Solaris系統.
(四) Zend Performance Suite
http://www.zend.com/
Zend Performance Suite是老牌的PHP加速/優化軟件,依託於PHP領域最知名的Zend公司。目前已經推出4.0版本,它能夠爲PHP應用提供程序加速,內容緩存,文件壓縮,下載服務等,功能十分強大,得到好幾個PHP雜誌的推薦獎—可是不得不提起,它也很昂貴,目前的價格是1875美圓。
(五) XCache:XCache 是一個開源的 opcode 緩存器/優化器, 這意味着他可以提升您服務器上的 PHP 性能.他經過把編譯 PHP 後的數據緩衝到共享內存從而避免重複的編譯過程, 可以直接使用緩衝區已編譯的代碼從而提升速度. 一般可以提升您的頁面生成速率2 到5 倍, 下降服務器負載。
在這裏我就介紹opcache xcache Accelerator和zend這四款加速器的使用
首先介紹opcache的安裝,opcache在最新的php5.5以上的版本中都集成的有,在源碼安裝php5.5以上版本時加上 --enable-opcache,開啓opcache。由於我這裏用的是php5.4.24因此須要另外安裝opcache。
安裝php5.4.24,解壓php-5.4.24.tar.bz2 使用 tar –jxvf php-5.4.24.tar.baz2 –C/usr/local/src
解壓完成後切換到該目錄中,執行
./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache/bin/apxs --with-mysql=/usr/local/mysql--with-mysqli=/usr/local/mysql/bin/mysql_config --enable-mbstring=all
執行完成後,執行make&& make install
完成以後要指定php的初始化文件php.ini,須要將當前目錄下的php.ini-development 拷貝到/usr/local/php/lib/
完成以後安裝opcache,解壓到 /usr/local/src,切換到該目錄中,而後執行/usr/local/php/bin/phpize
執行完成後就會出現configure文件
而後執行./configure--with-php-config=/usr/local/php/bin/php-config,而後執行make && make install,安裝完成以後在php.ini裏面加入下面幾行
zend_extension=/usr/local/php/lib/php/extensions/no-debug-zts-20100525/opcache.so
opcache.memory_consumption=128
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=4000
opcache.revalidate_freq=60
opcache.fast_shutdown=1
opcache.enable_cli=1
而後重啓httpd,而後編輯一個php頁面,使用phpinfo()函數顯示
能夠看到opcache已經啓動了,接下來咱們來測試一下性能如何,測試頁面就用我前面安裝過的wordpress。先來測試沒有啓動opcache的性能如何,先吧opcache禁用掉,而後使用httpd自帶的ab壓力測試工具進行測試,使用方法以下圖
測試結果以下
從圖中能夠看出沒用使用加速時測試100000個請求是用時28.383秒,每秒處理請求數3523個
接着咱們來測試加速後的效果
從圖中能夠看出和加速前有了明顯的提升
到這裏opcache的安裝已經介紹完了,接着介紹xcache的安裝,安裝以前先把opcache給關掉
解壓xcache-3.1.0.tar.gz到/usr/local/src下,而後切換到該目錄下,和opcache同樣先執行/usr/local/php/bin/phpize,以後就會出現configure文件,執行./configure--enable-xcache --with-php-config=/usr/local/php/bin/php-config 以後執行make && make install,完成以後會在/usr/local/php/lib/php/extensions/no-debug-zts-20100525目錄下造成xcache.so文件
而後追加/usr/local/src/xcache-3.1.0/xcache.ini到/usr/local/php/lib/php.ini
編輯/usr/local/php/lib/php.ini,指明xcache.so路徑
要管理xcache須要有用戶名和密碼,還在php.ini中指定
管理xcache須要有管理頁面將/usr/local/src/xcache-3.1.0/htdocs拷貝到/usr/local/apache/htdocs/admin,測試可否訪問
出現驗證頁面,說明能夠訪問
而後咱們來進行壓力測試,看看測試結果
明顯比沒有加速前快多了。Xcache也就介紹到這裏,接下來介紹PHP Accelerator
首先解壓APC-3.1.10到/usr/localsrc/,切換到該目錄,執行/usr/local/php/bin/phpize
而後執行./configure--with-php-config=/usr/local/php/bin/php-config,完成後執行make && make install 而後編輯php.ini
extension=/usr/local/php/lib/php/extensions/no-debug-zts-20100525/apc.so
apc.enabled = 1
apc.cache_by_default = on
apc.shm_segments = 1
apc.shm_size = 128
apc.ttl = 7200
apc.user_ttl = 7200
apc.num_files_hint = 1024
apc.write_lock = On
apc.gc_ttl=3600
apc.ttl=0
壓力測試