2014-11-17 30 views
1

我有一个潜在的非常大(也许几MB)的PHP类,当然产生。在这种情况下是否有任何设置或限制会导致opcache减速?PHP类的大小vs opcache?

回答

2

您应该检查opcache.max_file_size选项。该选项可以将最大文件大小设置为缓存。因此,大文件可以被opcode cacher跳过。但是,它默认为0,这意味着所有文件都将被缓存。

下一个要检查的选项是opcache.max_accelerated_files。对于使用Twig和注解默认值2000的大项目是不够的。考虑增加它。

最后一个是opcache.memory_consumption。我注意到,达到此限制后,opcache不会将新项目添加到缓存中。所以,增加到256M或512M。

+0

有没有办法找出最大数量的文件或内存它击中? –

0

很少有事情让OPCache变慢,就像opcache.consistency_checks(如果启用),OPcache将每N次请求验证缓存校验和,其中N是此配置指令的值。对于你的大文件大小,我相信这不是个好主意。另外,如果您怀疑它是否影响OPCache,为什么不尝试像OpCacheGUI这样的工具来检查它。

+0

因为我可以尝试的可能是有限的。例如,如果它在Windows下的PHP 5.4下降,我肯定无法测试它。我需要两个例子,当它减速或权威答案时,它不会。 – chx

+0

好吧,最好的事情请参阅这个网页http://files.zend.com/help/Zend-Server/content/zendserverapi/zend_opcache-configuration_directives.htm很少有事情要记下来,opcache.optimization_level,opcache.save_comments(禁用它以减小文件大小),opcache.enable_cli(禁用这个尝试)并考虑Alexander和我指定的内容。 – user3278897