3

PHP 的 APC 扩展包括两个用于启用延迟加载函数和类的配置设置;apc.lazy_functionsapc.lazy_classes

我的网站使用具有显着性能优势的 APC。他们还在不同时间启用和禁用了延迟加载设置,没有明显的差异。

在互联网上,除了单纯的讨论之外,没有太多关于这个主题的内容,但没有衡量标准。

是否有人实际测量过使用 APC 延迟加载对性能的影响,或者是否有人注意到使用这些设置存在显着差异?什么时候启用延迟加载是有利的?什么时候应该不惜一切代价避免它?

4

1 回答 1

2

这完全取决于您使用 APC 的应用程序类型。

大多数框架包括以一种或一种方式自动加载类。这基本上意味着在按需动态包含/必需的类的上下文中,apc 设置是多余的。apc.lazy_functionsapc.lazy_classes

PHP 的编码标准发生了变化,特别是随着PSR-1 编码标准的接受,框架不仅实现了自动加载,而且确保每个文件只定义一个类。

这反过来意味着apc.lazy_classes只在使用时从包含的文件中复制类,但当前的编码标准确保根据需要包含文件,并且包含的​​文件只定义一个类,即立即使用。

使用apc.lazy_functionsapc.lazy_classes与其他(较旧的)项目一起使用,可能会产生更好的结果。


但是,关于apc.lazy_functions,该设置仅涵盖文件中定义的全局范围函数。不是类的个别方法。命名法可能会产生误导,但类函数的名称是独特的methods

于 2013-01-18T11:08:15.800 回答