当我的用户使用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/