這篇文章主要介紹“如何使用opcache優化生產環境PHP”,在日常操作中,相信很多人在如何使用opcache優化生產環境PHP問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”如何使用opcache優化生產環境PHP”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!
OPcache 通過將 PHP 腳本預編譯的字節碼存儲到共享內存中來提升 PHP 的性能, 存儲預編譯字節碼的好處就是 省去了每次加載和解析 PHP 腳本的開銷。
[opcache]zend_extension=opcache.so; 開關打開opcache.enable=1opcache.enable_cli=1;共享內存大小, 酌情而定,單位 megabytesopcache.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=0opcache.validate_timestamps=1opcache.max_accelerated_files=3000opcache.memory_consumption=192opcache.interned_strings_buffer=16opcache.fast_shutdown=1多臺機器集群模式或者代碼更新頻繁時推薦,可以兼顧性能,方便代碼更新opcache.revalidate_freq=300opcache.validate_timestamps=1opcache.max_accelerated_files=7963opcache.memory_consumption=192opcache.interned_strings_buffer=16opcache.fast_shutdown=1穩定項目推薦,性能最好opcache.revalidate_freq=0opcache.validate_timestamps=0opcache.max_accelerated_files=7963opcache.memory_consumption=192opcache.interned_strings_buffer=16opcache.fast_shutdown=1
以上內容希望幫助到大家,很多PHPer在進階的時候總會遇到一些問題和瓶頸,業務代碼寫多了沒有方向感,不知道該從那里入手去提升,對此我整理了一些資料,包括但不限于:分布式架構、高可擴展、高性能、高并發、服務器性能調優、TP6,laravel,YII2,Redis,Swoole、Swoft、Kafka、Mysql優化、shell腳本、Docker、微服務、Nginx等多個知識點高級進階干貨需要的可以免費分享給大家
到此,關于“如何使用opcache優化生產環境PHP”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。