MySQL의 INNODB 엔진 성능 최적화 요약 2

https://www.roamway.com/?p=421우리는 mysql 성능 최적화의 전반부를 분석했습니다.,오늘 우리는 하반기를 분석 할 것입니다。

9.쿼리 캐시(쿼리 캐시): 'qcache %'와 같은 전역 상태 표시를 실행하여; 쿼리 캐시를 가져올 수 있습니다.,다음과 같이:

이 항목의 값이 모두 0 인 경우

구성 파일에 쿼리 캐시가 설정되어 있지 않음을 설명,구성 파일을여십시오,그런 다음[mysqld]필드 구성

query_cache_type = 1

query_cache_size = x

(1쿼리 캐시가 활성화되었음을 나타냅니다.,0쿼리 캐시가 꺼져 있음을 나타냅니다.),저장 및 종료,mysql 다시 시작.

'qcache %'와 같은 전역 상태 표시를 다시 실행합니다.; 지표에 가치가 있음을 알 수 있습니다.。

분석: Qcache_lowmem_prunes의 값이 큰 경우,그리고 free_memory는 매우 작습니다.,부족한 쿼리 캐시 메모리,필요한 것

query_cache_size 값 늘리기,32M과 같은,64M 또는 128M 등,수요에 따라。 Qcache_lowmem_prunes

훌륭한 가치,free_blocks는 작지 않습니다.,그리고 free_memory는 충분합니다,너무 많은 조각화를 의미합니다.,FLUSH QUERY CACHE 실행

캐시에서 조각 모음。

간단히 말해서,Qcache_lowmem_prunes를 0 또는 아주 작은 값으로 유지하려면。

쿼리 캐시의 상태는 다음 값을 통해 알 수 있습니다..

캐시 조각화 비율

Qcache_free_blocks / Qcache_total_blocks * 100%< 20%

캐시 활용

(query_cache_size – Qcache_free_memory) / query_cache_size * 100%높을수록 좋습니다

캐시 적중률

(Qcache_hits – Qcache_inserts) / Qcache_hits * 100% 높을수록 좋습니다

10.Innodb_buffer_pool 적중률:执行‘Innodb_buffer_pool_ %’와 같은 상태 표시;

버퍼 풀 적중률 계산,적중률은 99.9 % 이상이어야합니다.

innodb_buffer_read_hits = (1 – innodb_buffer_pool_reads /

innodb_buffer_pool_read_requests) * 100%

innodb_buffer_pool_pages_free가 0 인 경우,또는 innodb_buffer_pool_pages_free가

innodb_buffer_pool_pages_total의 비율이 너무 작습니다 (예 : 30 % 미만).,증가해야합니다

innodb_buffer_pool_size의 값。

11.테이블 스캔 속도:执行 'handler_read %'와 같은 글로벌 상태 표시;와

‘com_select’와 같은 글로벌 상태 표시;

테이블 스캔 속도 = Handler_read_rnd_next 인 경우 / Com_select의 값이 4000보다 큽니다.

너무 많은 테이블 스캔이 수행되었음을 나타냅니다.,인덱스가 작성되지 않았을 수 있습니다.,read_buffer_size 늘리기

가치에는 몇 가지 이점이 있습니다.,2M과 같은,4M 등,그러나 8MB를 초과하지 않는 것이 좋습니다. ,또한 SQL 문을 확인해야합니다.,

적절한 조정。

12.느린 쿼리:执行‘% slow %’와 같은 변수 표시;

느린 쿼리 로그 기능이 활성화되어 있는지 확인할 수 있습니다.,켜면 특정 경로를 볼 수 있습니다。

执行‘% slow %’와 같은 글로벌 상태 표시; 실행 된 느린 쿼리 수를 표시합니다.,느린 쿼리 로그를 통해,

어떤 SQL 문에 문제가 있는지 알 수 있음。

답장을 남겨주세요