PHP 的 APC 扩展包括两个用于启用延迟加载函数和类的配置设置;apc.lazy_functions
和apc.lazy_classes
。
我的网站使用具有显着性能优势的 APC。他们还在不同时间启用和禁用了延迟加载设置,没有明显的差异。
在互联网上,除了单纯的讨论之外,没有太多关于这个主题的内容,但没有衡量标准。
是否有人实际测量过使用 APC 延迟加载对性能的影响,或者是否有人注意到使用这些设置存在显着差异?什么时候启用延迟加载是有利的?什么时候应该不惜一切代价避免它?
PHP 的 APC 扩展包括两个用于启用延迟加载函数和类的配置设置;apc.lazy_functions
和apc.lazy_classes
。
我的网站使用具有显着性能优势的 APC。他们还在不同时间启用和禁用了延迟加载设置,没有明显的差异。
在互联网上,除了单纯的讨论之外,没有太多关于这个主题的内容,但没有衡量标准。
是否有人实际测量过使用 APC 延迟加载对性能的影响,或者是否有人注意到使用这些设置存在显着差异?什么时候启用延迟加载是有利的?什么时候应该不惜一切代价避免它?
这完全取决于您使用 APC 的应用程序类型。
大多数框架包括以一种或另一种方式自动加载类。这基本上意味着在按需动态包含/必需的类的上下文中,apc 设置是多余的。apc.lazy_functions
apc.lazy_classes
PHP 的编码标准发生了变化,特别是随着PSR-1 编码标准的接受,框架不仅实现了自动加载,而且确保每个文件只定义一个类。
这反过来意味着apc.lazy_classes
只在使用时从包含的文件中复制类,但当前的编码标准确保根据需要包含文件,并且包含的文件只定义一个类,即立即使用。
使用apc.lazy_functions
并apc.lazy_classes
与其他(较旧的)项目一起使用,可能会产生更好的结果。
但是,关于apc.lazy_functions
,该设置仅涵盖文件中定义的全局范围函数。不是类的个别方法。命名法可能会产生误导,但类函数的名称是独特的methods
。