Debian下安裝Zend Opcache加速PHP

來源:互聯網
上載者:User

現在基於PHP的網站越來越多,也有很多成熟的cms程式方便使用。在網站的流量逐漸增大之後,伺服器對CPU及記憶體的要求也就越來越高。一味的增加硬體成本是不可取的,採用合理的緩衝策略是減少伺服器訪問壓力的有效方法。tennfy將會在後面陸續介紹一些php及資料庫的緩衝方法。今天主要來介紹使用Zend Opcache加速PHP。

PHP緩衝原理介紹

PHP是指令碼語言,在解譯器完成對指令碼代碼的分析後,會將它們產生可以直接啟動並執行中間代碼,也稱為作業碼(Operate Code,opcode)。Opcode cache的目地是避免重複編譯,減少CPU和記憶體開銷。如果動態內容的效能瓶頸不在於CPU和記憶體,而在於I/O操作,比如資料庫查詢帶來的磁碟I/O開銷,那麼opcode cache的效能提升是非常有限的。但是既然opcode cache能帶來CPU和記憶體開銷的降低,這總歸是好事。

現代作業碼緩衝器( APC、 eAccelerator、 XCache以及Zend Opcache)使用共用記憶體進行儲存,並且可以直接從中執行檔案,而不用在執行前“還原序列化”代碼。這將帶來顯著的效能加速,通常降低了整體伺服器的記憶體消耗,而且很少有缺點。其中Zend Opcache外掛程式作為zend公司官方推出的快取區外掛程式,緩衝效果更好,可以保證與最新PHP版本的相容與更新。因此,tennfy推薦安裝Zend Opcache進行php的緩衝加速。

Zend Opcache已經整合在了PHP 5.5裡面,但也支援低版本的 PHP 5.2.*, 5.3.*, 5.4.*,下面介紹Zend Opcache的安裝方法。

Zend Opcache安裝方法

安裝方法如下:


# Install "pecl" via php-pear
apt-get install -y php-pear
 
# Install build dependencies
apt-get install -y build-essential php5-dev
 
# Install Zend OpCache
pecl install zendopcache-7.0.5
添加opcache.ini檔案

vi /etc/php5/mods-available/opcache.ini

在opcache.ini中加入如下幾行


zend_extension=/usr/lib/php5/20100525+lfs/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
其中128的意思是給它分配128M記憶體。

最後將該檔案連結至conf.d目錄下


ln -s /etc/php5/mods-available/opcache.ini /etc/php5/conf.d/20-opcache.ini

修改完成後,重啟nginx以及php。

查看Zend Opcache效果

輸入php -v,得到如下資訊


PHP 5.4.45-1~dotdeb+7.1 (cli) (built: Sep  5 2015 00:21:03)
Copyright (c) 1997-2014 The PHP Group
Zend Engine v2.4.0, Copyright (c) 1998-2014 Zend Technologies
    with Zend OPcache v7.0.5, Copyright (c) 1999-2015, by Zend Technologies
列印出phpinfo()資訊,可以看到Zend OPcache的相關資訊:

在phpinfo()資訊中, 目前來看有兩條資訊猶為重要:

Cache hits     (進階快取命中)
Cache misses   (進階緩衝未命中)
通過以上兩條資訊就可以觀察到緩衝情況。

注意事項

安裝完成後,最好將php5-dev卸載:

apt-get remove --purge build-essential php5-dev

不要同時安裝APC、 eAccelerator、 XCache以及Zend Opcache。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.