我有一个在共享主机帐户上运行的 CakePHP 应用程序,提供商一直在困扰我很多 (A2HOSTING) 我的帐户过度使用 CPU 资源,有时是 100%。
仅在最近几个小时,CPanel 就报告 CPU 使用率很高。我和他们谈过,他们说一切都指向“webroot”目录。我只有index.php
和css.php
。
任何想法,可能导致此问题的原因,以及我可以做些什么来解决它,因为他们威胁要暂停我的帐户。
谢谢,
没有更多信息,没有太多可说的。现在,让我们从什么是使用 100% cpu 开始?MySQL 还是 PHP?此外,您使用的条件。任何关联等等...
如果在您的本地设置上一切正常,那么我将首先查看它与您的服务器之间的任何差异。CakePHP、PHP、MySQL 的版本……它们有什么不同吗?服务器是否运行其中一个臭名昭著的版本?
让我们责怪数据库:数据库结构和数据真的相同吗?仔细观察每一个细节。你有相同的内容吗?确切地?克隆您的开发数据库,包括所有表定义和数据。
有时我注意到我的逻辑失误,“干净”的数据库会导致问题,因为我在整个开发过程中都有数据,并且由于某种原因我错过了如果表为空某些东西(看似无关)将失败.
让我们责怪 PHP:当 PHP 最终达到 100% cpu 时,问题通常是它卡在某个地方的循环中。这条线附近有吗?如果你让请求运行,你会得到超时还是内存不足?
除非您的服务器加载了 200'000 条相关记录,否则查找“第一个”永远不会导致内存不足。尝试指定递归 -1。那就是:从任何其他表中绝对不加载任何内容。
参考:https ://groups.google.com/forum/?fromgroups#!topic/cake-php/lS91s355_Pw
这篇文章可能会帮助您减少 CPU 过载。