OPcache 经过将 PHP 脚本预编译的字节码存储到共享内存中来提高 PHP 的性能, 存储预编译字节码的好处就是 省去了每次加载和解析 PHP 脚本的开销。php
[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 2、部分配置参数说明 opcache.revalidate_freq 这个配置选项用于设置缓存的过时时间,若是设置为0,每次请求时,都会检查文件是否修改,很耗资源,因此若是暂时不须要使用opcache,直接把opcache.enable设置为0便可。 opcache.validate_timestamps 配置为1时,会根据revalidate_freq设定的值检查更新代码;设置为0时,永不检查。 当须要一次更新大量代码的时候,能够设置为0,上传所有完成后,再设置为1。避免上传代码形成系统的不稳定。 opcache.max_accelerated_files 真实的取值是在质数集合 { 223, 463, 983, 1979, 3907, 7963, 16229, 32531, 65407, 130987 } 中找到的第一个比设置值大的质数。 你能够运行 find . -type f -print | grep php | wc -l 这个命令来快速计算你的代码库中的PHP文件数。
开发模式下推荐,直接禁用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=1string
多台机器集群模式或者代码更新频繁时推荐,能够兼顾性能,方便代码更新io
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