mysql 성능향상을 위한 팁..
성능과 연관이 되는 몇 가지 파라메터 변수는 반드시 체크를 하시기 바랍니다.
MySQL에서 주로 InnoDB를 사용하는 상태라면 innodb_buffer_pool_size, innodb_log_file_size, innodb_log_files_in_group, innodb_flush_log_at_trx_commit, innodb_doublewrite, sync_binlog 정도가 성능에 직접적인 영향을 미치는 요소라고 볼 수 있습니다.
innodb_buffer_pool_size
InnoDB에게 할당하는 버퍼 사이즈로 50~60%가 적당하며, 지나치게 많이 할당하면 Swap이 발생할 수 있습니다.
InnoDB에게 할당하는 버퍼 사이즈로 50~60%가 적당하며, 지나치게 많이 할당하면 Swap이 발생할 수 있습니다.
innodb_log_file_size
트랜잭션 로그를 기록하는 파일 사이즈이며, 128MB ~ 256MB가 적당합니다.
innodb_log_files_in_group
트랜잭션 로그 파일 개수로 3개로 설정합니다.
innodb_flush_log_at_trx_commit
서비스 정책에 따라 다르게 설정하겠지만, 저는 일반적으로 2값으로 세팅합니다.
- 0: 초당 1회씩 트랜잭션 로그 파일(innodb_log_file)에 기록
- 1: 트랜잭션 커밋 시 로그 파일과 데이터 파일에 기록
- 2: 트랜잭션 커밋 시 로그 파일에만 기록, 매초 데이터 파일에 기록
innodb_doublewrite
이중으로 쓰기 버퍼를 사용하는지 여부를 설정하는 변수로 활성화 시 innodb_doublewrite 공간에 기록 후 데이터 저장합니다. 저는 활성화합니다.
sync_binlog
트랜잭션 커밋 시 바이너리 로그에 기록할 것인지에 관한 설정이며, 저는 비활성 처리합니다.
참고로 innodb_buffer_pool_size를 32G 메모리 서버에서 24G로 할당한 적이 있는데, SQL트래픽이 많아짐에 따라 Swap이 발생하더군요. 버퍼풀에는 대략 한 시간 정도 Active한 데이터와 인덱스를 담을 수 있는 사이징이라면 적절할 것 같습니다.
sync_binlog는 binlog 파일에 매 트랜잭션마다 기록할 것인지를 설정하는 파라메터인데, BBWC 혹은 FBWC이 없다면 활성화를 권고하지 않습니다. (개인적으로 경험해본 바에 따르면 on/off에 따라서 10~20배 정도 차이가 나기도 하더군요.)
댓글 6개
13년 전
감사합니다. 그런데 카페24 등에서 제공하는 웹호스팅은 이런튜닝이 가능하도록 지원해주나요?
13년 전
아마..제기억으로는 dedicated아닌 이상 힘들거같습니다..
프로프리랜서
12년 전
굿이네요
12년 전
좋은정보네요 ㅋㅋ
12년 전
좋은 정보 감사합니다.
12년 전
감사합니다.
게시글 목록
| 번호 | 제목 |
|---|---|
| 9992 | |
| 9989 | |
| 9987 | |
| 9986 | |
| 9965 | |
| 9963 |
Flash
플레시 메뉴 만들기중 질문드립니다.
1
|
| 9961 | |
| 9953 | |
| 9951 |
PHP
효과에 대한 질문입니다.
1
|
| 9949 |
Flash
플래시 플레이어가 안나오네요!
1
|
| 9948 |
Linux
mod_ssl 설치 문제
|
| 9943 | |
| 9942 | |
| 19907 |
HTML
이미지 게시판 질문드려요
|
| 9940 |
JavaScript
메뉴바 도움 부탁드립니다.
1
|
| 9937 | |
| 9935 | |
| 9931 |
JavaScript
모바일 홈페이지 연동소스들중에 베가레이스2 기종이 연동이 안된다고 하는데
3
|
| 9930 | |
| 9927 |
JavaScript
네이버 나눔글꼴 적용 좀 봐 주세요
2
|
| 9924 |
MySQL
중복제거 쿼리문좀 간절히 부탁드립니다^^
2
|
| 9922 | |
| 19906 |
HTML
모바일 퍼스트와 반응형 웹
|
| 9918 |
MySQL
정중히 문제해결 도움 요청합니다
3
|
| 19903 |
HTML
프레임 문의 드려요 ^^;;
2
|
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기