如何提高PHP中'include()s'的性能?

5

我有一个1.9MB的PHP库,我在脚本开头包含它。它包含了我网站所需的所有数据库对象、方法等。每次包含需要0.1秒到0.3秒。

我使用eAccelerator来缓存这个文件的字节码。除此之外,还能做什么来优化这个“include”的性能呢?


3
出于好奇,生成页面的时间需要多久?下载页面需要多长时间? - Matthew Scharley
根据页面和加载的信息量,生成页面的时间可能需要0秒到0.5秒,通常大约需要0.2秒至1.1秒下载页面。我想尽可能地挤出页面的最大价值。 :P - Kevin Owocki
1个回答

8
将其分成模块,并仅在需要时加载块。我认为这是真正提高性能的唯一方法,我曾经处于同样的情况,只有这种方法才解决了它。这是很多要包含的代码,在我的看法中太多了。我打赌你不需要所有1.9MB的代码在每个环境下。

我认为如果我们打赌,你可能会赢。:P我已经阅读了关于将库拆分成模块的文章。现在的设计问题是:拆分文件的最佳方法是什么?我还考虑使用php内置的__autoload方法在调用类时包含它们,但这似乎有一点开销。 - Kevin Owocki
2
要回答这个问题,您需要详细说明这是什么样的项目以及库包含哪些内容。通常,您会将它们按主题分成最常用的函数/对象组。图像函数在这里,安全函数在那里...但这最终只有您自己可以决定。 - Pekka
这是一个相当大的项目,具有许多不同的功能子集。该库由图像、安全性、友谊、用户、群组、消息、'pokes'等对象/方法和数据库模式映射组成。恐怕每个页面上使用的功能没有很好地映射,因此创建请求到所需库的映射将是我的主要关注点,因为这将是我最大的时间消耗。 - Kevin Owocki
1
我建议手动完成这个过程:创建一个有意义的文件(=模块)结构。从维护的角度来看,这也非常健康。有趣的是,今天我问了一个相关的问题:https://dev59.com/ynI-5IYBdhLWcg3whYsr - Pekka

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