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