: 안녕하세여~~ 서버가 너무 느려져서여~~
: 아무래도 mysql접속부분에서 많이 느린것 같은데~~~
: 서버에 띄워져 있는 mysql데몬의 수와여~~ 전체 띄울수 있는 데몬수,
: 그리구~~ 데몬의 수를 늘려줄려면 어떻게 해야 하는지 혹시 아시면 꼭 좀 가르쳐주세여~
: 그냥 테이블 만들구, 자료넣구, 수정,삭제하는것은 책보구 하면은 되는데,
: 이런 부분에서 알 방법이 너무 없는것 같아여~~
: 꼭 좀 도와주세여~~
: 그리구 고수님들은 이런 상황을 어떤 법으로 확인하시구 체크하시나여?
--; 저도 허접이지만...
1. 현재 상태 확인
$ ps -aux | grep mysql
mysql 837 0.0 0.7 12104 2012 ? S Jun04 0:00 /usr/local/mysql/
mysql 845 0.0 0.7 12104 2012 ? S Jun04 0:00 /usr/local/mysql/
mysql 846 0.0 0.7 12104 2012 ? S Jun04 0:00 /usr/local/mysql/
root 9219 0.0 0.2 2660 664 pts/16 R 14:55 0:00 grep mysql
2. MySQL 서버에서 관리자가 조정할 수 있는 옵션은
$ mysqladmin variables
또는
$ mysqladmin variavles -u userId -p (다음 passwd 입력)
으로 확인 할 수 있습니다.
path 설정이 안 되어 있다면 ~~/mysql/bin/에서 실행
서버의 성능과 관련이 깊은 옵션은 다음과 같습니다.
key_buffer_size : 인덱스 저장 버퍼크기
max_user_connections : MySQL에 접속하는 클라이언트 최대수
table_cache : 테이블 캐시 크기
record_buffer : 테이블을 순차적으로 탐색할 경우 사용하는 버퍼 크기
sort_buffer : 정렬에 관련된 버퍼 크기
이중에서 max_user_connections는 서버에 접속할 수 있는 클라이언트의
최대 수로 이 값이 작을 경우 종종 연결중인 클라이언트가 연결을 해제할
때까지 기다려야 하므로 사용자는 속도가 느리다고 느낄 수 있습니다.
나머지 생략 ~
위의 설정값들은 my.cnf 파일에서 설정 해 줄 수 있으며, 최근에는
my-small.cnf, my-medium.cnf, my-large.cnf, my-huge.cnf 등
상황에 따라 설정파일들이 세분되어서 나오는 것으로 알고 있습니다.
그 파일들을 읽어보시고 설정하는 방법이 있구요..
MySQL 서버 실행시
1> 메모리 256MB이상, 테이블 수가 많을 때
$ safe_mysqld -O key_buffer=64M -O table_cache=256 -O
sort_buffer=4M -O record_buffer=1M &
2> 메모리 128MB, 테이블 수 적고, 정렬을 많이 사용할 때,
$ safe_mysqld -O key_buffer=16M -O sort_buffer=1M
3> 메모리가 작고, 클라이언트 연결이 많을 때,
$ safe_mysqld -O key_buffer=512 -O sort_buffer=16k
-O table_cache=32 -O record_buffer=8k -O net_buffer=1k &
등등으로 실행하는 방법이있습니다.
--허접합니다만, 도움이 되었으면 합니다.--언제쯤 삽질을 그만둘 수 있을까--;