当我的用户使用CakePHP应用程序时,我一直在休眠mysql进程。

这是一个问题,因为对该应用程序的访问被冻结(无限期加载)在该用户的计算机上。冻结一个用户的应用程序后,其他计算机上的用户似乎没有受到影响。为该特定用户解决此问题的唯一方法是重新启动服务器上的apache服务(这不理想,因为我在该服务器上运行多个按钮应用程序)。

等待5分钟以上后,用户会收到此错误,该错误似乎是由我们的代理服务器生成的。

ERROR

The requested URL could not be retrieved

While trying to retrieve the URL: [no URL]

The following error was encountered:

Read Timeout

The system returned:

[No Error]


A Timeout occurred while waiting to read data from the network. The network or server may be down or congested. Please retry your request.

Your cache administrator is root.

我正在努力确定是什么原因导致查询“入睡”,因此进行了修复。

我认为,问题可能存在的三种选择:


的MySQL
CakePHP
阿帕奇


有任何想法吗?

我的SHOW PROCESSLIST查询结果如下所示:

        ID  User        Host            Database        Command Time    Status  SQL query
Kill    330 instrument  localhost:1267  instrument_2012 Sleep   5235    ---     ---
Kill    331 pma         localhost:1270  None            Sleep   0       ---     ---
Kill    332 root        localhost:1271  mysql           Query   0       ---     SHOW PROCESSLIST


笔记


我没有使用持久连接。
所有用户都通过CakePHP应用程序连接到数据库。
该应用程序使用“ instrument”作为用户名连接到数据库。
重新启动mysql服务(而不是apache服务)没有任何影响。
冻结后,CPU使用率从冻结后的

编辑

我已将查询中检索到的记录数限制为800,并且响应时间为12秒。当我检索1200条记录时,响应时间为72秒。当我检索1600条记录时,响应时间为132秒。

为什么响应时间如此迅速地增加?

最佳答案

我不认为这是mysql的问题,而是php / apache。可以检查引起CPU高使用率的进程的名称是什么?

睡眠意味着工作线程在用户会话中处于空闲状态,因为用户尚未关闭连接。BTW错误消息来自鱿鱼代理,因为目标网站在一段时间内未响应。

关于mysql - 休眠mysql进程无法清除,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9277346/

10-12 12:52
查看更多