大量sleep产生的原因从三点排查:
1.程序中,不使用持久链接,即使用mysql_connect而不是pconnect
2. 程序执行完毕,应该显式调用mysql_close
3. 数据库查询不够优化,过度耗时
<?php define('MAX_SLEEP_TIME', 1000); $hostname = "ip:port"; $username = "username"; $password = "password"; $connect = mysql_connect($hostname, $username, $password); $result = mysql_query("SHOW PROCESSLIST", $connect); while ($proc = mysql_fetch_assoc($result)) { if ($proc["Command"] == "Sleep" && $proc["Time"] > MAX_SLEEP_TIME) { @mysql_query("KILL " . $proc["Id"], $connect); } } mysql_close($connect); ?>