PHP效能加速-opcache
一.opcache介紹
OPcache 是一個通過將 PHP 指令碼預編譯的位元組碼儲存到共享記憶體中來提升 PHP 效能的PHP擴充套件。 儲存預編譯位元組碼的好處就是 省去了每次載入和解析 PHP 指令碼的開銷。PHP 5.5.0 及後續版本中已經繫結了 OPcache 擴充套件。
二.php處理流程
http request ---> nginx(代理)----> php-fpm(master 程式,分配)----> php-fpm(worker處理 ) ---->php-cgi(1.啟動ZEND引擎,載入配置,載入module,2.初始化php指令碼進行詞法分析,語法分析,生成語法樹,3.ZEND引擎編譯語法樹,生成可執行位元組碼。4.執行位元組碼,返回處理結果)
三.opcache作用
opcache 就快取了php指令碼預編譯的位元組碼避免每次處理請求都重複執行(php-cgi處理的1,2,3)步驟,這樣可以使得php效能大大提高。
四.php配置opcache
開啟opcache
php.ini配置
[opcache]
;開啟opcache模組
zend_extension=opcache.so
;開啟opcache
opcache.enable=1
opcache.enable_cli=1
; The OPcache shared memory storage size 設定共享記憶體大小
opcache.memory_consumption=128
; 儲存臨時字串的記憶體大小
opcache.interned_strings_buffer=8
;OPcache雜湊表中的最大鍵(指令碼)數Only numbers between 200 and 1000000 are allowed.
opcache.max_accelerated_files=10000
; 在計劃重新啟動之前,“浪費”記憶體的最大百分比.
opcache.max_wasted_percentage=5
;如果啟用,那麼 OPcache 會每隔 [opcache.revalidate_freq](https://www.php.net/manual/zh/opcache.configuration.php#ini.opcache.revalidate-freq) 設定的秒數 檢查指令碼是否更新。 如果禁用此選項,你必須使用 [opcache_reset()](https://www.php.net/manual/zh/function.opcache-reset.php) 或者 [opcache_invalidate()](https://www.php.net/manual/zh/function.opcache-invalidate.php) 函式來手動重置 OPcache,也可以 通過重啟 Web 伺服器來使檔案系統更改生效
opcache.validate_timestamps=1
;檢查指令碼時間戳是否有更新的週期,以秒為單位。 設定為 0 會導致針對每個請求, OPcache 都會檢查指令碼更新,與opcache.validate_timestamps配合使用
opcache.revalidate_freq=3600
;通常做法是不設定opcache過期時間,通過每次更新程式碼重啟php-fpm來實現opcache的更新,所以更新程式碼的時間點儘量避免高流量時段
五.關閉opcache
將php.ini中opcache.enable=1 改成 opcache.enable=0
相關文章
- PHP效能加速-開啟OpcachePHPopcache
- PHP 效能優化 - OPcachePHP優化opcache
- 詳解:PHP加速器配置神器opcachePHPopcache
- PHP OpcachePHPopcache
- PHP Opcache 的正確使用PHPopcache
- 讓子彈飛~利用 OPcache 擴充套件提升 PHP7 效能 | Laravel 篇opcache套件PHPLaravel
- 讓子彈飛~利用OPcache擴充套件提升PHP7效能 | laravel篇opcache套件PHPLaravel
- 利用 PHP7 的 OPcache 執行 PHP 程式碼PHPopcache
- 《讓PHP擴充套件開拓程式設計前路》 之 效能最佳化利器 OPcachePHP套件程式設計opcache
- 如何更好的使用OPcache實現效能優化opcache優化
- 什麼是 Opcache,如何使用 Opcacheopcache
- 配置php_opcache擴充套件使php7執行更加快速PHPopcache套件
- 瞭解 OPcache 擴充opcache
- PHP 替換了檔案但是不生效的問題!(Opcache 的一個坑)PHPopcache
- 為什麼Swoole可以加速phpPHP
- php效能監控PHP
- php效能優化PHP優化
- Zend OPcache 最佳實踐配置opcache
- PHP 效能優化 - php.ini 配置PHP優化
- php效能分析利器:xhprofPHP
- Varnish – 高效能http加速器HTTP
- PHP 5 與 PHP 7 的效能對比PHP
- laravel開啟opcache提升載入速度Laravelopcache
- 如何利用全站加速,提升網站加速效能和使用者體驗?網站
- 測試 laravel9 加速引擎Octane的效能Laravel
- PHP程式碼效能監測工具PHP
- PHP7.4 Preload 效能測試PHP
- PHP效能優化 -理論篇PHP優化
- PHP效能最佳化大全(整理)PHP
- Light-PHP 基於 swoole 的高效能 PHP 框架PHP框架
- 關於OPcache對Swoole影響的理解opcache
- SpringBoot透過refresh-ahead caching加速微服務效能Spring Boot微服務
- PHP - 《高效能php應用開發》學習筆記PHP筆記
- PHP 效能分析平臺搭建 (tideways + xhgui+ nginx + PHP7)PHPIDEGUINginx
- PHP的效能優化方法總結PHP優化
- PHP 效能追蹤及分析工具(XHPROF)PHP
- php7版高效能onethik!PHP
- PHP7效能優化筆記PHP優化筆記