【问题标题】:Slow MySQL query and CPU Throttling缓慢的 MySQL 查询和 CPU 节流
【发布时间】:2013-12-18 14:44:57
【问题描述】:

我在共享主机 (hostmonster) 上托管我的 CakePHP 1.3.x 应用程序。我收到了来自 Google 网站管理员工具的 DNS 错误,并通过联系我的主机的技术支持,他们表示我的帐户发生了 CPU 限制,并指导我查看 this document about CPU Throttling

从上面的文档中,我检查了tmp/mysql_slow_queries,发现一些查询需要超过 2 秒,其中一些查询很简单,例如:

# Sat Dec 14 02:00:38 2013
# Query_time: 3.286778  Lock_time: 0.000000 Rows_sent: 0  Rows_examined: 0
use twoindex_quran;
SET timestamp=1387011638;
SET NAMES utf8 

我需要知道,为什么 CakePHP 会应用 SET timestamp 之类的查询,以及如何阻止 CakePHP 进行此类查询。我还需要知道是什么让这么简单的查询变慢了?

【问题讨论】:

  • CakePHP 不会自行设置该查询。检查您的应用程序代码并查找它。

标签: mysql cakephp shared-hosting throttling


【解决方案1】:

有几点可能值得注意:

  1. 您可能需要升级 CakePHP 以使用 PDO 版本的 PHP MySQL 连接,因为旧版本的 MySQL 连接已被弃用。

  2. 检查您的主机使用的 PHP 版本。确保主机 PHP 版本和 CakePHP PHP 版本要求之间没有什么奇怪的。 PHP 版本最近是否更改导致了这些以前不存在的问题?如果是这样,您可以更改 .htaccess 并使用以前的版本还是他们不再支持它?

  3. 三秒查询不应导致主机出现限制条件。您列出的查询信息看起来不像是特定于 CakePHP 的查询。看起来 PHP 连接试图连接到特定的数据库。我所知道的代码中没有任何地方调用SET timestampSET names。也许有人可以启发我们?

【讨论】:

    猜你喜欢
    • 2011-08-04
    • 1970-01-01
    • 2022-10-20
    • 2012-05-04
    • 2012-01-15
    • 1970-01-01
    • 2021-11-05
    • 1970-01-01
    • 2022-01-17
    相关资源
    最近更新 更多