PHP 的Opcache加速的使用方法
本文介紹了PHP 的Opcache加速的使用方法,具體如下,分享給大家:
介紹
PHP 5.5+版本以上的,可以使用PHP自帶的opcache開啟性能加速(默認(rèn)是關(guān)閉的)。對于PHP 5.5以下版本的,需要使用APC加速
Opcache是一種通過將解析的PHP腳本預(yù)編譯的字節(jié)碼存放在共享內(nèi)存中來避免每次加載和解析PHP腳本的開銷,解析器可以直接從共享內(nèi)存讀取已經(jīng)緩存的字節(jié)碼,從而大大提高PHP的執(zhí)行效率。
配置
在PHP 5.5.0及后續(xù)版本中,PHP已經(jīng)將Opcache功能以拓展庫形式內(nèi)嵌在發(fā)布版本中了,默認(rèn)未開啟Opcache加速,需要開發(fā)人員在php.ini中添加或解注釋Opcache相關(guān)配置即可。對于之前的老版本,可以將Opcache作為PECL拓展庫進(jìn)行安裝和配置
php.ini:
[opcache] # 啟動操作碼緩存 opcache.enable=1 #針對支持CLI版本PHP啟動操作碼緩存 一般被用來測試和調(diào)試 opcache.enable_cli=1 # 共享內(nèi)存大小,單位為MB opcache.memory_consumption=128 #存儲臨時字符串緩存大小,單位為MB,PHP5.3.0以前會忽略此項(xiàng)配置 opcache.interned_strings_buffer=8 #緩存文件數(shù)最大限制,命中率不到100%,可以試著提高這個值 opcache.max_accelerated_files=4000 #一定時間內(nèi)檢查文件的修改時間, 這里設(shè)置檢查的時間周期, 默認(rèn)為 2, 單位為秒 opcache.revalidate_freq=60 #開啟快速停止續(xù)發(fā)事件,依賴于Zend引擎的內(nèi)存管理模塊,一次釋放全部請求變量的內(nèi)存,而不是依次釋放內(nèi)存塊 opcache.fast_shutdown=1 #啟用檢查 PHP 腳本存在性和可讀性的功能,無論文件是否已經(jīng)被緩存,都會檢查操作碼緩存,可以提升性能。 但是如果禁用了 opcache.validate_timestamps選項(xiàng), 可能存在返回過時數(shù)據(jù)的風(fēng)險(xiǎn)。 opcache.enable_file_override=1
Opcache注意事項(xiàng)
1、使用Opcache就沒必要使用apc 和 Xcache加速;
因?yàn)镻HP 5.5.0及后續(xù)版本已經(jīng)內(nèi)嵌對Opcache的支持,所以PHP意識到其重要性,相對于Xcache等第三方的PHP優(yōu)化器來說,使用Opcache會是更好的選擇。另外,兩者同時存在的話,會使Opcache的緩存命中數(shù)大大降低,而且增加不必要的開銷。
2、不建議在開發(fā)過程中開啟Opcache
開啟了Opcache之后,開發(fā)人員修改的內(nèi)容不會立即顯示和生效,因?yàn)槭艿給pcache.revalidate_freq=60的影響,所以建議在開發(fā)并測試之后,測試性能時再行打開測試,當(dāng)然,生產(chǎn)環(huán)境一直都要開著Opcache。
3、不建議將Opcache指標(biāo)設(shè)置太大
Opcache各項(xiàng)指標(biāo)配置大小或是否開啟,需要結(jié)合項(xiàng)目實(shí)際情況需求及Opcache官方建議的配置,項(xiàng)目的實(shí)際情況分析,可結(jié)合上面第四部分的可視化緩存信息分析調(diào)整。
4、不建議長期使用老版本的Opcache
建議及時關(guān)注Opcache官網(wǎng)動態(tài),實(shí)時了解其的bugs修復(fù),功能優(yōu)化及新增功能,以便更好的將其應(yīng)用在自己的項(xiàng)目中。
5、不建議在生產(chǎn)環(huán)境中,將上面介紹的開源項(xiàng)目放入Web服務(wù)根目錄
原因很簡單,因?yàn)檫@個開源項(xiàng)目并未做訪問的限制和安全處理,也就是說凡是可以訪問外網(wǎng)的用戶,只要知道了訪問地址就可以直接訪問,所以不安全。一般下,這個開源工具只是幫助可視化分析PHP的性能,通常在開發(fā)調(diào)試階段使用。如果就是想在生產(chǎn)環(huán)境開啟使用,那么就必須做好安全限制工作。
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
在laravel中實(shí)現(xiàn)ORM模型使用第二個數(shù)據(jù)庫設(shè)置
今天小編就為大家分享一篇在laravel中實(shí)現(xiàn)ORM模型使用第二個數(shù)據(jù)庫設(shè)置,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-10-10
PHP連接SQL Server的方法分析【基于thinkPHP5.1框架】
這篇文章主要介紹了PHP連接SQL Server的方法,結(jié)合實(shí)例形式分析了基于thinkPHP5.1框架Db類以及使用PDO進(jìn)行SQL Server數(shù)據(jù)庫連接的相關(guān)操作實(shí)現(xiàn)技巧,需要的朋友可以參考下2019-05-05
詳解php實(shí)現(xiàn)頁面靜態(tài)化原理
本篇文章主要介紹了詳解php實(shí)現(xiàn)頁面靜態(tài)化原理,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-06-06
thinkPHP多表查詢及分頁功能實(shí)現(xiàn)方法示例
這篇文章主要介紹了thinkPHP多表查詢及分頁功能實(shí)現(xiàn)方法,結(jié)合具體實(shí)例形式分析了thinkPHP多表查詢以及查詢結(jié)果的分頁顯示相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下2017-07-07
phpStudy2018安裝教程及本地服務(wù)器的配置方法
phpStudy 2018是一款非常強(qiáng)大的php環(huán)境調(diào)試工具,一次性安裝,無須配置即可使用,是非常方便、好用的PHP調(diào)試環(huán)境。這篇文章主要介紹了phpStudy2018安裝教程及本地服務(wù)器的配置方法,需要的朋友可以參考下2018-03-03

