背景
php7.4支持preloading特性,在fpm重启时可以预先编译缓存opcode,那么低版本怎么做到类似的效果呢?
单机(容器)操作
更新cachetool到4.0版本以上
curl -sO https://gordalina.github.io/cachetool/downloads/cachetool-4.1.1.phar
chmod +x cachetool-4.1.1.phar
编译指定目录php文件到opcache
如 /var/webroot/
php cachetool-4.1.1.phar opcache:compile:scripts /var/webroot/
查看缓存结果
php cachetool-4.1.1.phar opcache:status:scripts
全量操作
可以写脚本在每台机(容器)里面执行
尾
缓解服务器代码更新开服后,用户一瞬间涌进服务器,导致服务器在编译opcode这一步耗费巨大时间,缓解CPU瞬时上升的压力,减轻服务器压力。