除了显而易见的缓存页面,使用递归和可包含的内容,什么是真正最小化某些网址上的内存占用的好方法,而不只是出去编写平面php?
例如,我有一些控制器操作(和模型方法)与系统其余部分的交互最少,但很多用户同时访问它们。
或者另一个例子是API端点。它只提取一些特定的数据,但使用的内存比预期的要多。
如何优化这些操作但仍然保留在CakePHP中? (可能选择性地禁用一些重的CakePHP东西)
我目前正在使用CakePHP 1.3.x,但是转到2.x是我的待办事项清单。
答案 0 :(得分:2)
我目前正在使用CakePHP 1.3.x,但是转到2.3是在我的待办事项清单上。
转移到2.x,这会使你的性能提升50%,而且我认为内存使用量也会减少。 2.0加载模型和其他懒惰的东西。因此,如果不需要某些东西,只要不需要它就不会加载。您也可以为1.3的模型获得延迟加载。见https://github.com/lorenzo/lazy_loader
嗯,你怎么知道的?你profile the request了吗?如果是,最慢或最大的记忆饮食方法是什么?如果不知道并分析代码,就不可能提供除缓存之外的任何建议。它只提取一些特定数据,但使用的内存比它多 应该。
当你很快就要切换到2.x时,我不会浪费更多时间来优化旧的1.3应用程序。你为什么想选择2.3?已经有2.4和2.5了。