文件大小如何影响性能?

3

我需要了解一个网站的性能问题。

假设服务器配置已经优化并且相同,考虑文件大小和数量。

  1. 文件大小如何影响网站的性能?

    假设我们有一个包含10000行代码的文件,并且有一个包含50行代码的函数。我们只调用这个函数,没有使用其他任何东西。

另一个只包含这个50行代码函数的文件。

  1. 如果我们同时执行这两个文件,一个小文件会比两个文件都执行更快吗?

  2. 为什么我们要尽量减少代码行数?

假设服务器上有1000个文件,但我们只使用其中的2个文件。另一个服务器只有2个文件。这两个服务器的文件执行是否会有差异?

我正在使用PHP,但这个问题是通用的。

3个回答

4
这不是一个可以用是或否回答的问题。你需要基准测试你的应用程序每秒可以处理多少请求才能看出来。我的观点是,如果服务器配置正确,差异微不足道。
如果您使用类似APC的东西,文件只需被解析一次并存储到内存中。此时,代码行的分布几乎不相关。
如果您没有使用类似APC的东西,则有两个主要问题需要考虑:
  • 文件I/O时间。访问多个较小的文件可能比访问大文件慢。

  • 解析时间。解析大文件需要更多时间。如果您解析的内容超过您所需的,则浪费了时间。

但是,正如大多数人会告诉您的那样,这可能不是您需要担心的事情。如果您无法通过基准测试和分析测试证明这是一个问题,那么绝对不必担心它。

1

如果你只是在一个有10,000行的文件中“使用”了50行,那么是的,你会失去一些性能...无论是PHP解析整个页面的速度,即使它没有使用其中的9,950行,还是“开发者地狱”,需要花费时间来找到这个函数并理解其他大量代码的相关性。

话虽如此,不要将一个有10,000行的“实用”文件拆分成500个单独的文件,每个文件中只有一个函数...根据需要随机调用(相反的痛苦)。


这看起来像是一个答案。我得到了一些要搜索和学习的内容,即“PHP解析整个页面的速度”。谢谢。期待更多信息 :-) - zod
2
@zod,这里的重点是以一种对开发人员来说易于使用的方式组织您的代码。 - Matthew

1

好的,这里有一个澄清:

代码本身对性能影响最小。而且“假设服务器配置已经优化”只是空洞的说辞。这是一个无止境的过程,取决于许多因素。
如果你想要优化某些东西,你必须先运行分析测试,然后确定瓶颈并进行优化。

有许多操作码缓存解决方案可以使您的问题完全过时。

听取好的建议,不要问“一般情况下”的问题。特别是那些毫无意义和虚构的问题。


1
这甚至不是一个通用的答案,看起来只是一条评论 :-) - zod
4
@zod,这就是一个答案。你只是拒绝理解它。 - Your Common Sense

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接