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 29540 게시물 읽기
No. 29540
[mysql]lock문제로 max_connection 초과된 문제
작성자
김하림
작성일
2010-02-10 10:17
조회수
7,152

안녕하세요

 

mysql서버를 운영중인데 max_connection 이 자꾸 초과가 되서 사이트가 안뜨고 있습니다

 

 wait_timeout , max_connection어느정도 사이트에 접속량에 따라서값을 정하고  운영하고 있습니다

 

웹서버가 3대이고 DB서버가 한대인데..접속이 많은 사이트이긴 한데..어느날부터 자주 max_connection에러가 나고 있습니다.

 

processlist 를 확인해보면 State 부분에  다 lock 상태로 되어 있어서 max_connection 초과가 되서 사이트 접속이 안되었습니다

 

wait_timeout 은 lock에 대한것은 참조를 안하는것 같은데.. 자꾸 lock이 max_connection값보다  많아지니 이런 경우 어떻게 해야하는지

 

조언좀 부탁합니다. 

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

안녕하세요 박성원입니다.

간만에 쓰는 답글이네요 ㅋㅋ;;

 

max_connection의 경우 mysql에 물린 connection의 개수를 정해주는 일종의 연결 제한 값입니다.

이부분이 문제가 나는 경우는 대부분 아래와 같습니다.

 

1. Web Page에서 connection후 별도의 close를 진행하지 않고 connection을 계속 늘리는경우

2. Web Page에서 보내느 Query가 특정 Table에 부하를 유발하거나 Lock을 진행하여 다른 connection이 해당 테이블에 접근을 하지 못해 lock 상태로 빠지는 경우

3. wait_timeout 시간이 너무 길어 실제 connection의 연결에 문제를 가하는 경우

 

보통 이 세가지 중에 하나입니다. 말씀하신 부분이 어떤 경우인지는 정확히 분석 해봐야 알겠지만

아마도 2번의 경우 일듯한데요 부하를 유발하는 query의 튜닝을 진행하시거나 트랜젝션 처리,

테이블 분할 혹은 View Table활용을 진행하시면 됩니다.

 

만약 Replication을 구성하여 쿼리분할을 진행하지 않으셨다면 별도의 해당 작업을 진행하여 Server의

스트레스를 해소 할 수 있습니다. ^^

박성원(darkancia)님이 2010-02-10 10:26에 작성한 댓글입니다.
이 댓글은 2010-02-10 10:46에 마지막으로 수정되었습니다.

네 감사합니다.

그럼 리플리케이션 방법으로 해서 쿼리 분활을 해야 할것 같은데..

이 방법은 어떤식으로 해야하나요?

기술적인 자문 부탁합니다.

 

김하림님이 2010-02-10 14:15에 작성한 댓글입니다. Edit

성원님 말씀대로, 일단 lock이 많으면 오래 걸리는 update나 insert로 인해 select들이 lock되는 경우가 대부분이니, slow query부터 추출해내는게 우선이겠네요.

 

박현우(lqez)님이 2010-02-10 16:49에 작성한 댓글입니다.

 

 

업데이트 인서트가 많으시면... InnoDB 를 사용하시는것도 생각 해보세요~

민족님이 2010-02-13 15:08에 작성한 댓글입니다. Edit
[Top]
No.
제목
작성자
작성일
조회
29546날짜별로 최대 10개씩 값 가져오는 방법이 궁금합니다. [2]
쨔르
2010-02-12
6451
29543mysql 리플리케이션 방법으로 해서 쿼리를 분활을 하는 방법 [4]
김하림
2010-02-10
6437
29542int 디폴트 [2]
김성민
2010-02-10
6062
29540[mysql]lock문제로 max_connection 초과된 문제 [4]
김하림
2010-02-10
7152
29539레코드 값으로 PK 값 알아내기 [1]
oldlove7
2010-02-10
5743
29538[쿼리 튜닝] 고수님들 도와주세요. [2]
놀러와써
2010-02-09
6699
29537VIEW 테이블 SELECT만 할 수 있는 권한의 USER를 생성할 수 있나요? [2]
서광호
2010-02-08
6476
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.023초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다