database.sarang.net
UserID
Passwd
Database
DBMS
ㆍMySQL
PostgreSQL
Firebird
Oracle
Informix
Sybase
MS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
MySQL Q&A 29776 게시물 읽기
No. 29776
MySQL Sleep이 너무 많은 현상
작성자
디비악마(honillusion)
작성일
2010-08-30 14:15ⓒ
2010-08-30 14:21ⓜ
조회수
9,248

세션DB이고 구성은 아래와 같습니다.

리플리케이션 = 마스터1대 + 슬레이드2대
테이블은 모두 HEAP타입
초당쿼리는 1대당 1000~1500
wait_timeout = 2
max_connection = 2000

3대 모두 Sleep이 너무 많아 사용량이 많을때는 Threads가 1000 가까이 올라갑니다. 서버가 너무 느려지는데요. 웹소스쪽에서 mysql_close()를 전부 해줘도 제대로 안먹는것 같습니다. wait_timeout는 0,1,5,10 이렇게 다 바꿔봐도 증상은 같습니다. 서비스 특성상 wait_timeout 때문에 Threads가 죽는게 아니라 순간적으로 Threads가 굉장히 많이 생겼다가 없어졌다 하는데요. MySQL에서 쿼리가 끝난 후 자동으로 커넥션을 다 끊어버리게 할 수는 없나요? 혹은 다른 해결법이 있을까요?

이 글에 대한 댓글이 총 2건 있습니다.

 wait_timeout은 원래 1이상의 값만 허용합니다.

http://dev.mysql.com/doc/refman/5.1/en/server-system-variables.html#sysvar_wait_timeout

 

하지만 이를 조정하는 것 보다는, 웹 단에서 변경 가능하시다니, 그 쪽을 먼저 튜닝해보시는 것이 좋겠습니다.

웹단에서 사용하는 언어별로, persistent connection과 그 재활용에 대한 설정 부분이 있습니다. (예: PHP의 경우 max_persistent값과, mysql_connect의 new_link인자) 만약, 모든 요청이 새로운 커넥션을 요구한다면 아무래도 DB단에서 받아들이기가 더 까다로울 것으로 생각됩니다.

박현우(lqez)님이 2010-08-30 18:47에 작성한 댓글입니다.

답변 감사합니다. ^^

디비악마(honillusion)님이 2010-08-31 10:30에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
29780jeus.jdbc.driver.blackbox.BlackboxConnection.setAutoCommit 에러..
질문이
2010-09-01
7851
29778replication설정이 안됩니다. 꼭 좀 봐주세요?? [4]
조근호
2010-08-30
7587
29777table_option의 auto_increment [2]
김지숙
2010-08-30
8338
29776MySQL Sleep이 너무 많은 현상 [2]
디비악마
2010-08-30
9248
29775테이블 값 참조 질문 드립니다. [1]
정현철
2010-08-30
7471
29774mysql root 계정이 안생깁니다. [1]
박재헌
2010-08-30
6922
29773mydqldump 시 LOCK TABLES 문제로 dump되지않는이유?? [3]
조근호
2010-08-29
12567
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.020초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다