CakePHP-通过剥离不必要的功能优化特定URL

CakePHP-通过剥离不必要的功能优化特定URL,php,cakephp,Php,Cakephp,除了使用递归和可包含的缓存页面外,还有什么好方法可以真正最大限度地减少某些URL上的内存占用,而不必编写简单的php 例如,我有一些控制器操作(和模型方法),它们与系统的其余部分的交互最少,但同时被许多用户频繁访问 或者另一个例子是API端点。它只提取一些特定的数据,但使用的内存比它应该使用的要多 有什么方法可以优化这些操作,但仍然停留在CakePHP中?(可能通过选择性地为他们禁用一些重CakePHP内容) 我目前使用的是CakePHP1.3.x,但要迁移到2.x已经在我的待办事项列表中了 我

除了使用递归和可包含的缓存页面外,还有什么好方法可以真正最大限度地减少某些URL上的内存占用,而不必编写简单的php

例如,我有一些控制器操作(和模型方法),它们与系统的其余部分的交互最少,但同时被许多用户频繁访问

或者另一个例子是API端点。它只提取一些特定的数据,但使用的内存比它应该使用的要多

有什么方法可以优化这些操作,但仍然停留在CakePHP中?(可能通过选择性地为他们禁用一些重CakePHP内容)

我目前使用的是CakePHP1.3.x,但要迁移到2.x已经在我的待办事项列表中了

我目前使用的是CakePHP1.3.x,但我的待办事项列表中有2.3

移动到2.x,它将使您的性能提高50%,而且我认为还可以减少内存使用。2.0加载模型和其他延迟的东西。因此,如果不需要某些东西,只要不需要,就不会加载它。对于1.3版的模型,您也可以获得延迟加载。看

它只提取一些特定的数据,但占用的内存比它多得多 应该

你怎么知道的?是吗?如果是,最慢或最消耗内存的方法调用是什么?在不知道和分析代码的情况下,除了缓存之外,不可能给出任何建议


当你即将切换到2.x时,我不会浪费太多时间优化旧的1.3应用程序。你为什么要选2.3?现在已经有2.4和2.5了。

这不是一个具体的问题,所以投票结束。但我建议您分析您的应用程序,看看到底是什么在使用资源,然后对这些发现做出反应,即缓存常见查询等@MartinBean足够公平,如果它关闭,我知道我必须以不同的方式处理。我已经在缓存查询并优化我的数据库(使用索引、检查慢速查询日志等),我已经缩小了范围。burzum还指出了对请求的分析,因此我将很快更新我的答案。我问这个问题的想法是,我可能会错过一些明显的/标准的解决方案来解决这类问题。我们没有看到任何应用程序,我们不知道您的应用程序运行在哪台服务器上,也不知道您的服务器是如何配置的。有太多的可能性了。正如@burzum和我所说的,这个概要文件将为您指明正确的方向。如果您仍然使用Apache,请用Nginx替换它。你在用APC吗?如果不使用它。在设置方面也有大量可能的优化,但这一切都取决于对环境和代码的了解。整个代码,不只是一个片段。对,明白了。必须配置和升级(然后再次配置)。我们也会考虑迁移到Nginx,谢谢!谢谢你的回答,听起来升级是最好的方式。之后,我将能够查看这些特定请求是否仍然存在问题,并在需要时对其进行分析。因为应用程序已经非常大了,迁移听起来就像潘多拉魔盒,所以推迟了太久。(是的,将移动到最新的稳定2.x版本,将更新问题)。谢谢如果您的代码编写得很好,并且遵循惯例,那么迁移到Cake 2.x不会花费您超过1到2周的时间。那时我们已经迁移了560台医疗应用程序。大多数工作可以通过使用升级外壳来完成,然后只修复它不能自动完成的部分。@Nebojsac迁移应用程序所需的时间因应用程序而异,可能(或应该)只需要几个小时。我会把每10个管制员一天的工作作为一个慷慨的预算。升级和检查而不是尝试优化现有代码然后升级,这绝对符合您的利益。谢谢你们两位。升级是有意义的,越快越好。我们将首先解决这个问题。