OPcache 通过将 PHP 脚本预编译的字节码存储到共享内存中来提升 PHP 的性能, 存储预编译字节码的好处就是 省去了每次加载和解析 PHP 脚本的开销.
一,php.ini 配置 opchche 示例
[opcache] zend_extension = opcache.so; 开关打开opcache.enable = 1opcache.enable_cli = 1;共享内存大小,
酌情而定,
单位 megabytes opcache.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,
} 中找到的第一个比设置值大的质数.你可以运行 find . - type f - print | grep php | wc - l 这个命令来快速计算你的代码库中的PHP文件数.
463,
983,
1979,
3907,
7963,
16229,
32531,
65407,
130987
开发模式下推荐,直接禁用 opcache 扩展更好
多台机器集群模式或者代码更新频繁时推荐,可以兼顾性能,方便代码更新
opcache.revalidate_freq=0
opcache.validate_timestamps=1
opcache.max_accelerated_files=3000
opcache.memory_consumption=192
opcache.interned_strings_buffer=16
opcache.fast_shutdown=1
稳定项目推荐,性能最好
opcache.revalidate_freq=300
opcache.validate_timestamps=1
opcache.max_accelerated_files=7963
opcache.memory_consumption=192
opcache.interned_strings_buffer=16
opcache.fast_shutdown=1
opcache.revalidate_freq=0
opcache.validate_timestamps=0
opcache.max_accelerated_files=7963
opcache.memory_consumption=192
opcache.interned_strings_buffer=16
opcache.fast_shutdown=1
来源: http://www.bubuko.com/infodetail-2461805.html