聊聊zend opcache的配置项

opcache.revalidate_freq

这个选项用于设置缓存的过期时间(单位是秒),当这个时间达到后,opcache会检查你的代码是否改变,如果改变了PHP会重新编译它,生成新的opcode,并且更新缓存。

值为“0”表示每次请求都会检查你的PHP代码是否更新(这意味着会增加很多次stat系统调用,译注:stat系统调用是读取文件的状态,这里主要是获取最近修改时间,这个系统调用会发生磁盘I/O,所以必然会消耗一些CPU时间,当然系统调用本身也会消耗一些CPU时间)。可以在开发环境中把它设置为0。

opcache.validate_timestamps

当这个选项被启用(设置为1),PHP会在opcache.revalidate_freq设置的时间到达后检测文件的时间戳(timestamp)。

如果这个选项被禁用(设置为0),opcache.revalidate_freq会被忽略,PHP文件永远不会被检查。这意味着如果你修改了你的代码,然后你把它更新到服务器上,再在浏览器上请求更新的代码对应的功能,你会看不到更新的效果,你必须得重新加载你的PHP(使用kill -SIGUSR2强制重新加载)。

opcache.max_accelerated_files

这个选项用于控制内存中最多可以缓存多少个PHP文件。这个选项必须得设置得足够大,大于你的项目中的所有PHP文件的总和。

你可以运行“find . -type f -print | grep php | wc -l”这个命令来快速计算你的代码库中的PHP文件数。

opcache.memory_consumption

这个选项的默认值为64MB,可以通过调用opcachegetstatus()来获取opcache使用的内存的总量,如果这个值很大,你可以把这个选项设置得更大一些。

opcache.interned_strings_buffer

PHP使用了一种叫做字符串驻留(string interning)的技术来改善性能。例如,如果你在代码中使用了1000次字符串“foobar”,在PHP内部只会在第一使用这个字符串的时候分配一个不可变的内存区域来存储这个字符串,其他的999次使用都会直接指向这个内存区域。这个选项则会把这个特性提升一个层次——默认情况下这个不可变的内存区域只会存在于单个php-fpm的进程中,如果设置了这个选项,那么它将会在所有的php-fpm进程中共享。在比较大的应用中,这可以非常有效地节约内存,提高应用的性能。

这个选项的值是以兆字节(megabytes)作为单位,如果把它设置为16,则表示16MB,默认是4MB。

opcache.fast_shutdown

它的作用是在单个请求结束时提供一种更快速的机制来调用代码中的析构器,从而加快PHP的响应速度和PHP进程资源的回收速度,这样应用程序可以更快速地响应下一个请求。把它设置为1就可以使用了。

相关推荐:
sdcard存储的信息可以被其他应用任意读取,如果有敏感信息会造成信息被恶意应用获取风险。 通过内部存储存文件openFileOutput(filename, Context.MODE_PRIVATE)或者对于敏感的数据加密后存储。
安装完tomcat8.x后,进入其目录/usr/local/tomcat/bin/,运行startup.sh,出现错误: touch: cannot touch ‘/usr/local/tomcat8/logs/catalina.out’:No such file or directory 其解决办法如下: 1.自己建 …
漏洞描述: 2018年01月22日,外国安全研究人员发现PHP环境存在拒绝服务漏洞,通过该漏洞,利用精心构造的GIF图片PoC触发PHP函数循环挂起,导致网站功能受到影响,从而影响服务不可用,目前PoC已公开,由于 …
MuMu模拟器是网易推出的一款安卓模拟器,资源消耗少、运行较流畅,支持多开分屏同步,挂机比较稳定。针对热门手游王者荣耀独家推出一键喊话、打野倒计时辅助功能,完美支持网易游戏和市面上火爆手游,具备 …
由于应用开发者没有对传入的数据做异常判断,恶意应用可以通过传入畸形数据,例如向getXXXExtra()传入自定义的序列化类对象,会导致应用本地拒绝服务。 对getextra方法加上try catch 捕获异常,防止应用拒绝服务。
拿起手机扫一扫即可带走我!