1.php.ini之opcache配置
opcache.enable=1;//开启opcache缓存php操作码提高运行效率
opcache.memory_consumption=64;//为操作码缓存分配的内存大小,视脚本的数量而定
opcache.interned_strings_buffer=16;//用来存储驻留字符串的内存量,默认情况PHP解释器会从各个PHP进程中找到相同字符串的指针,如果存在则使用已有的字符串指针。开启该项配置可以从各个进程中集中到共享的缓冲区,以节省更多内存。
opcache.max_accelerated_files=32531;//OPcache 哈希表中可存储的脚本文件数量上限,应大于项目脚本文件数
opcache.validate_timestamps=0;//是否检测脚本内容发生变化,生产环境建议设置为0(PS:每次更新代码记得手动重置下缓存 opcache_reset),开发环境设置为1.
opcache.revalidate_freq=0;//当opcache.validate_timestamps设置为0时该配置项没有任何意义。
opcache.fast_shutdown=1;//启用,则会使用快速停止续发事件。 所谓快速停止续发事件是指依赖 Zend 引擎的内存管理模块 一次释放全部请求变量的内存,而不是依次释放每一个已分配的内存块。从 PHP 7.2.0 开始,此配置指令被移除。 快速停止的续发事件的处理已经集成到 PHP 中, 只要有可能,PHP 会自动处理这些续发事件。
14.15开启opcache负载从0.03下降到0.01
a.清空opcache
1.适合cli模式
if(function_exists('opcache_reset')){
opcache_reset();
}
2.适合php-fpm服务下的应用(更多信息见:http://gordalina.github.io/cachetool/)
curl -sO http://gordalina.github.io/cachetool/downloads/cachetool.phar
chmod +x cachetool.phar
php cachetool.phar opcache:reset --fcgi=/dev/shm/php-fp