一、OPcache是什么?
OPcache通過將 PHP 腳本預編譯的字節碼存儲到共享內存中來提升 PHP 的性能, 存儲預編譯字節碼的好處就是 省去了每次加載和解析 PHP 腳本的開銷。
PHP 5.5.0 及后續版本中已經綁定了 OPcache 擴展。 對於 PHP 5.2,5.3 和 5.4 版本可以使用 PECL擴展中的 OPcache 庫。
二、OPcache如何安裝?
我的php版本:5.6.32 (cli)
因為在5.5版本后php會內置opcache,我在編譯安裝的時候也安裝了此項,因此只需要打開此功能和配置參數即可。
OPcache 只能編譯為共享擴展。 如果你使用
--disable-all 參數 禁用了默認擴展的構建, 那么必須使用 --enable-opcache 選項來開啟 OPcache。
編譯之后,就可以使用
zend_extension 指令來將 OPcache 擴展加載到 PHP 中。在非 Windows 平台使用
zend_extension=/full/path/to/opcache.so, Windows 平台使用
zend_extension=C:\path\to\php_opcache.dll。
vi php.ini (可在php.ini底部添加)
;add opcache zend_extension= opcache.so #加載opcache模塊 opcach.enable_cli=1 #開啟opcachecli功能 opcache.memory_consumption=128 #設置的共享緩存空間,我這里設置的128Mb 單位:Mb opcache.max_accelerated_files=4000 #最大緩存的文件數目 opcache.revalidate_freq=60 #定期檢查文件的修改時間,我這設置為60s 單位 秒 opcache.fast_shutdown=1 #打開快速關閉,打開此項php request Shutdown的時候速度會提高
編輯完后重啟php-fpm ,使php.ini配置生效
三、檢查OPcache是否生效
查看phpinfo輸出信息是否已經加載成功。
[root@localhost# php -m |grep 'Zend OPcache' Zend OPcache Zend OPcache [root@localhost]#
四、優化效果
通過監控發現,load負載有明顯下降,業務一切正常~