show processlist; 아시는 회원님 도움요청드려요 정보
show processlist; 아시는 회원님 도움요청드려요본문
ㅜㅜ 어제 오후에한번 저녁에 한번 MYSQL 이 다운되는 현상이 발생되더라구요...
그래서.. 이상하다.. 이상하다 하고 호스팅업체에 문의해보니...
정확한 원인파악은 힘들지만... MYSQL 에서 show processlist; 를 치면 sleep 되어 있는게 너무 많아서 문제가 생길수도 있다고 하시네요..
시작은했는데 끝을내지 못한경우라고 하더라구요.. time에서 시간도 오래 지체되었다구하시구요
서버사용하시는 회원님들은? 어느정도 sleep이 나오시나요?
그리고 이 문제를 해결하는 방법아시는 회원님 헬프미 ~
그래서.. 이상하다.. 이상하다 하고 호스팅업체에 문의해보니...
정확한 원인파악은 힘들지만... MYSQL 에서 show processlist; 를 치면 sleep 되어 있는게 너무 많아서 문제가 생길수도 있다고 하시네요..
시작은했는데 끝을내지 못한경우라고 하더라구요.. time에서 시간도 오래 지체되었다구하시구요
서버사용하시는 회원님들은? 어느정도 sleep이 나오시나요?
그리고 이 문제를 해결하는 방법아시는 회원님 헬프미 ~

추천
0
0
댓글 4개

sleep 은 쿼리가 완료되었지만, 연결상태는 아직 남아있는 경우입니다.
php 코드에서 하단에 mysql_close() 를 꼭 호출해 주시구요.
connection_timeout 값을 낮춰보세요.
apache 프로세스(PHP) 가 mysql connection 을 잡고 있는 경우에 위와 같은 상황이 나올수 있습니다.
즉, 응답없음 페이지가 많이 발생하는 경우, httpd 에 좀비 프로세스가 많은경우..
여러가지 이유가 있을수 있겠죠.
아... lock이 걸린 경우도 위와 같은 상태가 됩니다.
php 코드에서 하단에 mysql_close() 를 꼭 호출해 주시구요.
connection_timeout 값을 낮춰보세요.
apache 프로세스(PHP) 가 mysql connection 을 잡고 있는 경우에 위와 같은 상황이 나올수 있습니다.
즉, 응답없음 페이지가 많이 발생하는 경우, httpd 에 좀비 프로세스가 많은경우..
여러가지 이유가 있을수 있겠죠.
아... lock이 걸린 경우도 위와 같은 상태가 됩니다.
<?php
define('MAX_SLEEP_TIME', 120);
$hostname = "localhost";
$username = "root";
$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);
?>
이런게 있길래 임시로 adm 에다가 sleep_kill.php 라고 만들어놓긴했는데요 이게 도움이 되겠죠?
define('MAX_SLEEP_TIME', 120);
$hostname = "localhost";
$username = "root";
$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);
?>
이런게 있길래 임시로 adm 에다가 sleep_kill.php 라고 만들어놓긴했는데요 이게 도움이 되겠죠?

위코드는 임시 방편이겠네요.
후에 DB접속량이 많아지면 더 많은 sleep가 걸릴텐데요 ^^
mysql_close()를 생활화 하시구 찾아보시는게.
그리고 slow query 로그를 남겨서 느린 쿼리가 있는지도 체크 보시는것도 좋구요 ^^
후에 DB접속량이 많아지면 더 많은 sleep가 걸릴텐데요 ^^
mysql_close()를 생활화 하시구 찾아보시는게.
그리고 slow query 로그를 남겨서 느린 쿼리가 있는지도 체크 보시는것도 좋구요 ^^
그누의 경우 하단에 mysql_close($sql_connect); <-- 이렇게 해주면 되나요?
쿼리문 있는 PHP 마다요?
쿼리문 있는 PHP 마다요?