> 문태준 선생님께서
> MySQL게시판의 응답에 다음과 같은 글을 올리신 것을 보고 질문드립니다.
>
> ----------------------------------- (문선생님의 답변 글)
> mysql 최적화 내용 있습니다.
> 그런데 이건 단순히 db만의 문제는 아니네요.
> mysql에서 동시사용자가 기본 100명이나 400이상 높여주어야할 것이구요. 웹서버 기본사용자가 최근에
> 는 256인가 되니 소스 고쳐서 400이상 높여주어야겠군요. (그런데 최대 동시접속하더라도 웹사용자가
> 더 많지 db사용자는 그것보다는 적겠지요..)
>
> 물론 db차원의 효율적인 설계도 중요할듯. 인덱스 잘 사용하구 효율적으로 select 문 쓰구, join 버퍼
> 나 자료를 담을 버퍼등도 좀더 높게 잡아주고 등등...
>
> ---------------------------------------------------(질문사항)
> 기본적으로 웹서버의 최대 접속자를 256에서 --> 1000으로 증대를 시켜 놓았는데,
> MySQL에서 충분히 소화를 하지 못하더군요.
>
> 그래서 여러 경로를 통해 확인을 하다보니,
> MySQL에서 최대 수용가능한 동시사용자가 100명으로 설정되어 있다는 것을
> 문선생님의 글을 보고 알았습니다.
>
> MySQL의 최대 수용가능한 동시사용자 수를 증가시키는 방법이 있으면 알려주셨으면 합니다.
>
> 참고적으로 현재 사용중에 있는 서버는
> - Intel Pentium 550 Dual, 512MB(메모리) 입니다.
>
> 문선생님께서 번역하여 올려 놓으신 'MySQL의 최적화' 글은 보았습니다.
>
> 그러나 제 실력이 미진하여 잘 이해하지 못하겠더군요..
>
> 감사합니다.
mysql 시작하는 스크립트에서 대몬을 띄울때
-max_connections 이 옵션을 수정하면 됩니다.
제가 번역한 매뉴얼 보면은...
많은 메모리와 많은 테이블을 가졌고 중간정도 숫자의클라이언트에서 최대의 성능을 원한다면 다음과 같이 사용한다.
shell> safe_mysqld -O key_buffer=16M -O table_cache=128 \r
-O sort_buffer=4M -O record_buffer=1M &메모리가 적고 연결이 많으면 다음과 같이 사용한다.
shell> safe_mysqld -O key_buffer=512k -O sort_buffer=100k \r
-O record_buffer=100k &또는:
shell> safe_mysqld -O key_buffer=512k -O sort_buffer=16k \r
-O table_cache=32 -O record_buffer=8k -O net_buffer=1K &
이런 내용이 있지요.
이렇게 바꾸면 됩니다.
|