是否加载不使用的.php文件会影响性能?

时间:2012-02-27 01:11:59

标签: php

只是想知道......是吗?多少

比如包含20个.php文件,其中包含类,但没有实际使用类(尽管可能会使用它们)。

4 个答案:

答案 0 :(得分:2)

是的,虽然多少取决于许多事情。如果你使用的是PHP加速器,性能成本不会太高,但是如果你不是,那么会大大减慢速度。您最好的选择通常是使用自动加载,因此您只能在实际使用时加载内容,而不是为了以防加载所有内容。这也可能会减少你的内存消耗。

答案 1 :(得分:2)

当然它会影响性能。你在PHP中所做的一切都可以。

性能有多少是指它们中包含多少数据,执行它们需要多长时间,或者在类的情况下,读取它们。

如果您不使用它们,为什么要包括它们?我假设您使用了一些主引擎文件或头文件,并应重新考虑包含文件的方法。

编辑:或者@Pekka指出,你可以自动加载课程。

答案 2 :(得分:2)

我会给出一个轻微的变体答案:

  • 如果您在经过调整的VPS或专用服务器上运行:这是一笔不小的数额。
  • 如果您在共享主机服务上运行:它会大大降低脚本执行时间的性能。

为什么呢?因为在第一种情况下,您应该配置一个PHP操作码缓存,例如APC或Xcache,实际上可以消除脚本加载和编译开销。即使需要读取或统计检查文件,元数据和文件数据也会“热”,因此如果(虚拟)服务器专用于应用程序,则主要缓存在文件系统缓存中。

在共享服务上,一切都在相反的方向运行:PHP作为用户UID中的每请求映像运行;没有操作码缓存解决方案支持这种模式,所以一切都需要编译。这里的杀手是需要读取文件,并且许多(可能是大多数)共享LAMP托管提供商使用可扩展服务器场用于LAMP层,用户数据在共享NFS安装的NAS基础设施上。由于这些NFS挂载的 acremin 小于1分钟,因此I / O请求将需要RPC-off-server。我的博客文章给出了一些基准here。共享IIS主机模板的详细信息不同,但净效果类似。

我在共享服务上运行phpBB论坛软件包,通过汇总我描述的here的公共源代码包,大致减少了响应时间。

答案 3 :(得分:1)

简短回答 - 是的。 对于较长的答案,快速谷歌搜索揭示了这些 - Will including unnecessary php files slow down website?; PHP Performance on including multiple files

搜索帮助!

- Matīss