【发布时间】:2011-12-24 14:40:22
【问题描述】:
为什么是App::import('*', '*');,以及模型加载需要大约 3-5 毫秒?
当一个页面需要大约 100 个模型时,这很烦人;加载核心和模型大约需要 300 毫秒。
此外,我发现启用缓存系统后,加载时间并没有减少。
对于需要大量模型的应用程序,您是否知道为什么需要如此长的时间以及减少时间的另一个原因?
提前致谢!
EDIT :当我使用 file 缓存系统(将调试模式设置为 0)时,我看到文件的 creation date 属性缓存生成的总是和我上次生成的页面一样。这意味着缓存每次都在重新生成模型文件(尽管调试模式设置为 0)。这正常吗?
EDIT2 :当我使用 Notepad++ 打开模型缓存文件时,开头有尾随“nul”标志,这是我在其他缓存文件中没有的(例如 persistent em>)。
EDIT3 : 长话短说 : 为什么一个模型的加载时间和没有这个缓存系统一样长? p>
【问题讨论】:
-
FWIW,CakePHP 2 使用延迟加载修复了这个问题。你确定调试模式关闭了吗?缓存在调试中被禁用。 stackoverflow.com/questions/3402246/cache-file-model-cakephp
-
我使用的是 CakePHP 2,而我的页面/动作使用了大多数模型,所以无论是否延迟加载,这几乎是一样的。是的,调试模式已关闭,缓存已启用。
-
澄清一下,这个页面需要查询100个模型,瓶颈确实是加载时间?只需确保您解决了正确的问题。
-
不,大约有 30 个型号。看看这个页面,我确信它依赖于超过 15 个模型(处理用户、标签、问题、编辑、cmets、响应、喜欢、相关......)。我刚刚做了一个观察(快速服务器的模型需要 3-5 毫秒),想知道原因并希望有解决方案。
标签: php cakephp optimization cakephp-model