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 29692 게시물 읽기
No. 29692
max_connection 질문
작성자
디비악마(honillusion)
작성일
2010-06-07 09:29
조회수
8,226

서버사양은 CPU 2.66GHz*(듀얼코어)*4EA, 메모리 8기가입니다.

tuning-primer.sh이라는 MySQL 튜닝 쉘스크립트로 보면 max_connection을 500 정도 잡아야 메모리초과 안되고 그 이상 잡으면 메모리 초과된다고 나오는데요. 실제 운영을 해보면 사용량 많을때 threads가 1000 가까이 튀어서 max_connection을 2000으로 잡아놨습니다. 그런데 threads가 1000 정도 되도 메모리를 다 쓴다거나 서비스가 좀 느려지긴해도 서비스가 안되는건 아닙니다.  아파치는 서버가 감당 안될 정도로 max_clients를 크게 잡으면 사용량 많을때 서버가 뻗어버리는데요. MySQL은 사용량이 많으면 too max connection 안뜰 정도로 max_connection을 무조건 크게 잡아도 상관없는건가요?

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

튜닝 프라이머에서 나오는 max_connections정보는 MySQL Status / Variable 값을 기준으로 결과를 보여주는데, max_used_connections수가 max_connections 값의 10% 보다 작으면, max_connections값을 줄이라고 알려줍니다.

per_thread_buffers = (read_buffer_size+read_rnd_buffer_size+sort_buffer_size+thread_stack+join_buffer_size+binlog_cache_size) * max_connections

 

위 공식에서 보시는 것과 같이, thread당 사용하는 버퍼의 크기는 max_connections를 어떻게 가져가느냐에 달려 있습니다.

실제로 튜닝시 max_connections를 무조건 늘리는 것은 별 도움이 되지 못합니다. 설계와 쿼리를 개선해서 각 프로세스가 더 빨리 처리되도록 하는 부분이 중요합니다.

 

 

결론 : 메모리만 많으면 높게 잡으셔도 상관 없지만, 튜닝을 목적으로 무조건 늘리는 것은 의미가 없습니다.

 

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

max_connection을 2000으로 잡았을때 tuning-primer.sh에서 메모리 부분이 아래와 같이 나와요.

 

MEMORY USAGE
Max Memory Ever Allocated : 53.65 G
Configured Max Per-thread Buffers : 65.18 G
Configured Max Global Buffers : 2.03 G
Configured Max Memory Limit : 67.21 G
Physical Memory : 7.79 G

nMax memory limit exceeds 90% of physical memory
 

사용량이 워낙 많아 한번에 1000 이상씩 튀는 경우가 문제가 됩니다. 실제 서비스를 해보면 threads가 1000이 넘어가도 메모리는 3기가정도만 쓰고 있구요. tuning-primer.sh에서는 메모리를 너무 많이 잡았다고 하는데요. 실제 서비스를 해보면 너무 달라서요. 튜닝목적보다는 서비스가 되도록 하는게 목적인데요. 쿼리는 간단한 select문이고 시스템에 부하는 거의 주지 않습니다. threads만 순간 튀는 현상이 있습니다.

디비악마(honillusion)님이 2010-06-10 09:20에 작성한 댓글입니다.
이 댓글은 2010-06-10 09:21에 마지막으로 수정되었습니다.
[Top]
No.
제목
작성자
작성일
조회
29695궁금한게 있는데요... [1]
조중연
2010-06-08
7075
29694검색 질문입니다. a필드내에 '하' 가 몇개 포함되었는 카운트 순으로 가져오구 싶습니다. [1]
권오용
2010-06-08
7664
29693replication 끊김 현상에 대한 질문입니다. [4]
최영균
2010-06-08
7982
29692max_connection 질문 [2]
디비악마
2010-06-07
8226
29691통계쿼리에 대한 질문이 있습니다 [1]
료쿄
2010-06-05
8227
29690많이 너무많은 접근이 있어서 하나의 컴퓨터의 DB로는 부족할때. [1]
VQ
2010-06-05
7392
29689MYSQL 디비를 엑셀로 다운받을때요.. [1]
꼬맹이오빠
2010-06-04
7031
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2023 DSN, All rights reserved.
작업시간: 0.046초, 이곳 서비스는
	PostgreSQL v16.1로 자료를 관리합니다