我有一个非常奇怪的问题,我不知道如何解决它。我的应用程序不时达到内存限制,并发生内部服务器错误 500。我的共享主机限制为 570MB。我尝试调试我的应用程序,YiiDebug 工具栏显示每个页面都消耗大约 10-12MB 的内存。我真的不明白问题出在哪里。在我的本地 wamp 服务器上,没有问题。
谁能帮我?至少告诉我从哪里开始寻找内存泄漏,因为我看不到任何明显的东西。这是不可预知的问题,它不会在某些特定请求上发生。我已经在 index.php 中注释了“YII_DEBUG”行。
请参阅 - http://www.yiiframework.com/forum/index.php/topic/15647-memory-usage/上的帖子
有点过时,但要点仍然相关。
如果可以,请使用某种缓存软件来补充 Active Record 系统。
如果您使用 Active Record,请确保加载的模型数量不会太多。
调试需要额外的内存 - 如果您不需要它,请禁用它。
如果问题仍然存在,请考虑从活动记录转移到 DAO,但这可能会很麻烦。
你用的是什么版本的 Yii?您网站上的典型访问者数量是多少?
如果你有很多 AR 记录,你还可以查看刚刚登陆 master的全新CActiveDataProviderIterator 。它还不是一个稳定的 Yii 版本的一部分,并且几乎没有文档(实际上我正在帮助解决这个问题)。但可能是您遇到一些内存限制的地方。
你是否通过任何改变来使用 GiiX?我发现它在某些地方效率相当低,导致需要更精简地查询......