1. 程式人生 > >php開啟opcache

php開啟opcache

開發模式 計算 回收 大小 加載 方便 部分 性能 clas

OPcache 通過將 PHP 腳本預編譯的字節碼存儲到共享內存中來提升 PHP 的性能, 存儲預編譯字節碼的好處就是 省去了每次加載和解析 PHP 腳本的開銷。

一、php.ini配置opchche示例

[opcache]
zend_extension=opcache.so
; 開關打開
opcache.enable=1opcache.enable_cli=1;共享內存大小, 酌情而定,單位 megabytes
opcache.memory_consumption=256      ;interned string的內存大小, 也可調
opcache.interned_strings_buffer=8;最大緩存的文件數目,命中率不到 100% 的話, 可以試著提高這個值
opcache.max_accelerated_files=4000;60s檢查一次文件更新
opcache.revalidate_freq=60;打開快速關閉, 打開這個在PHP Request Shutdown的時候  會收內存的速度會提高
opcache.fast_shutdown=1;不保存文件/函數的註釋
opcache.save_comments=0  ; 是否快速關閉, 打開後在PHP Request Shutdown的時候回收內存的速度會提高
opcache.fast_shutdown=1
二、部分配置參數說明
opcache.revalidate_freq 
這個配置選項用於設置緩存的過期時間,如果設置為0,每次請求時,都會檢查文件是否修改,很耗資源,所以如果暫時不需要使用opcache,直接把opcache.enable設置為0即可。
opcache.validate_timestamps 
配置為1時,會根據revalidate_freq設定的值檢查更新代碼;設置為0時,永不檢查。
當需要一次更新大量代碼的時候,可以設置為0,上傳全部完成後,再設置為1。避免上傳代碼造成系統的不穩定。
opcache.max_accelerated_files 
真實的取值是在質數集合 { 223, 463, 983, 1979, 3907, 7963, 16229, 32531, 65407, 130987 } 中找到的第一個比設置值大的質數。
你可以運行 find . -type f -print | grep php | wc -l 這個命令來快速計算你的代碼庫中的PHP文件數。

開發模式下推薦,直接禁用opcache擴展更好

opcache.revalidate_freq=0

opcache.validate_timestamps=1

opcache.max_accelerated_files=3000

opcache.memory_consumption=192

opcache.interned_strings_buffer=16

opcache.fast_shutdown=1

多臺機器集群模式或者代碼更新頻繁時推薦,可以兼顧性能,方便代碼更新

opcache.revalidate_freq=300

opcache.validate_timestamps=1

opcache.max_accelerated_files=7963

opcache.memory_consumption=192

opcache.interned_strings_buffer=16

opcache.fast_shutdown=1

穩定項目推薦,性能最好

opcache.revalidate_freq=0

opcache.validate_timestamps=0

opcache.max_accelerated_files=7963

opcache.memory_consumption=192

opcache.interned_strings_buffer=16

opcache.fast_shutdown=1

php開啟opcache