2010년 7월 8일 목요일

[MySQL 모니터링 및 엔진 최적화]MyISAM 스토리지 엔진 최적화/모니터링

MyISAM의 mysqld옵션

 

 - 전체 mysqld 세팅

    key_buffer_size(기본 8Mb) : 인덱스 캐시, 올리게 되면 성능 향상

    데이터 row에 대한 캐시는 OS에서 핸들링

 

 - 쓰레드별 세팅 : 일반적인 동작에 관계 없음

    Myisam_sort_buffer_size(기본 8Mb)

    Myisam_repair_threads(기본1) - 벌크 임포트와 myisam테이블 복구에 사용

 

 

Key와 관련된 Status 환경 변수

 

 - MyISAM 엔진은 key캐시를 조절하는 것이 성능과 직결됨

 

 - 일반적인 경우 다음과 같은 상황이 바람직함

     낮은 key_reads(물리 디스크를 읽는 것우)

     매우 낮은 key_reads/key_read_request비율(0.03이하)

 

 - 다음방법으로 캐시 사용을 확인

     key_block_used와 key_block_unused는 얼마나 많은 쿼리캐시 공간이 사용중인지 나타냄

     key_cache_block_size로 블록 사이즈를 결정

 

 

key_buffer_size 최적화

 - 값을 높여주면 더많은 메모리를 사용해서 성능이 높아지나 너무 높이게 되면 데이터로딩시 OS캐쉬의 이용을 할 수 없어 성능이 낮아질수 있음

 - 전체메모리의 25%정도로 설정로 보통 512M이하로 설정

 - SHow_status like 'key%' 로 key 사용상황 점검

 

 

대용량 데이터 로딩 및 수리

 - MyISAM_sort_buffer_size

     인덱스 생성에 사용되는 메모리의 양, 대용량 데이터 입력시 성능을 높히기 위해서 할당함

 - Myisam_repair_threads

     1이상으로 설정할 경우 병렬로 인덱스 생성이 가능, 코어캣수만큼 설정, repair시에만 사용됨

 

 

MyISAM모니터링

 

 - MyISAM은 키캐시에 대부분의 성능이 좌우됨

 

 - 키 캐시 쓰기 요청

 - 키 캐시 쓰기

 

 

댓글 없음:

댓글 쓰기