编程语言
首页 > 编程语言> > PHP-Zend OPcache性能设置与默认设置

PHP-Zend OPcache性能设置与默认设置

作者:互联网

据我了解的那些设置:

opcache.validate_timestamps=0
opcache.interned_strings_buffer=16
opcache.max_accelerated_files=3907
opcache.blacklist_filename=/blacklisted_files

应该会提高性能(根据链接:123).我实际上不确定最后2个,在我的情况下,“ internet_strings_buffer”设置值“ 4”可能永远不会被填充(因此不会给出更好的结果),但是“ validate_timestamps”应该消除stat()函数的开销,因此给我更好的效果性能,但根据我与JMeter进行的测试,我无法对此进行验证.每个设置分别比默认设置差.

我了解“性能设置”可能不会改善很多,但我认为它的性能不应该太差(每个请求的差异约为2毫秒).

问题是:为什么默认设置优于性能/推荐设置?

另外,OPcache处理较小的内存覆盖/删除/搜索是否比处理较大的内存更好(谈论“ opcache.memory_consumption”设置)?

解决方法:

选项2和3仅间接影响性能,因为它们与操作码缓存的容量有关.如果您当前的使用情况符合默认值,那么您不会看到任何实质性差异,只是使用Opcache会稍微增加系统开销.当然,如果当前使用量不合适,您会从中受益,因为高速缓存将具有更大的容量,并且您将获得较少的高速缓存未命中.

选项4与为PHP脚本文件名定义模式有关,这些模式易失,因此不应进行缓存.如果您已禁用时间戳验证,则这一点尤其重要,因为这样的更改不会被Opcache接收.

选项1确实删除了多余的stat()调用,PHP进程的痕迹可以验证这些调用.对于现代CPU,Linux内核可以非常高效地缓存索引节点,因此,如果节点位于VFAT缓存中,则仅保存sub mSec.您需要很好地构建时序测试以测量这种差异.

Opcache的重用策略很差:它不会打扰.缓存将缓慢填充,并在完全填充后将其全部刷新并从头开始重建.

标签:jmeter,opcache,zend-framework,php
来源: https://codeday.me/bug/20191028/1955852.html