MySQL INNODB 엔진 성능 최적화 요약 하나

1.동시성:데이터가 지금까지 연결한 수,mysql 로그인 후 실행

'max_used_connections'와 같은 전역 상태 표시;

'max_connections'와 같은 변수 표시;

일반적으로,다음 관계를 만족하십시오.:

max_used_connections / max_connections * 100% <=85%

2.Innodb_buffer_pool:innodb 엔진의 mysql 성능에 결정적인 역할을 합니다.。

Innodb는 데이터와 인덱스를 모두 캐시하기 때문에,공식적으로 다음으로 설정하는 것이 좋습니다. 70-80% 사용 가능한 메모리。

일이 많지 않다면,그리고 폭발하지 않을 것이다,innodb_buffer_pool_size를 너무 크게 설정할 필요가 없습니다.。

3.innodb_log_file_size:구성 파일 프롬프트는 innodb_buffer_pool_size의 25%로 설정됩니다.

쓰기 부하가 높은 상황에서 중요합니다.。값이 클수록 성능이 높아집니다.,그러나 회복 시간을 증가시킬 수 있습니다。

4.innodb_flush_logs_at_trx_commit:

기본값은 1,이것은 각 커밋에 대한 업데이트 트랜잭션을 의미합니다.(또는 각 거래 외의 진술)디스크에 플러시됩니다,

이것은 상당히 리소스 집약적입니다。로 설정하면 2 ,즉, 먼저 운영 체제의 캐시에 로그를 플러시합니다.,그러면 로그는

매초마다 디스크에 플러시,따라서 초당 1-2개의 업데이트 소비는 일반적으로 손실되지 않습니다.。

5.innodb_log_buffer_size:이 값은 높은 동시성을 나타냅니다.,1초 이내에 로그 캐시가 가득 찬 경우

이 값,ib_logfilex의 메모리에서 디스크로 즉시 플러시。이 값은 일반적으로 8M으로 설정됩니다.,~에 따르면

실제 상황에 적절하게 대처。

6.임시 테이블: 'created_tmp%'와 같은 show global status 실행; 나타날거야

 

매번 임시 테이블 생성,Created_tmp_tables 증가,디스크에 임시 테이블을 생성하는 경우,

Created_tmp_disk_tables도 증가했습니다.,Created_tmp_files는 MySQL 서비스에 의해 생성된 임시 파일을 나타냅니다.

파일 수:当Created_tmp_disk_tables / Created_tmp_tables * 100% <= 25%

언제,건강 상태가 될 수 있음을 나타냅니다.。25% 이상인 경우,설명 tmp_table_size 및 max_heap_table_size

값이 더 작습니다,추가해야,둘 다 특정 값으로 증가,예를 들어 모두 256M으로 설정되어 있습니다(실제로는 이미 매우 큽니다).,

Created_tmp_disk_tables인 경우 / Created_tmp_tables * 100% 가치가 떨어지지 않는다,

sql 문에 문제가 있을 수 있음을 설명합니다.,하드 디스크 임시 테이블의 강제 사용。실행함으로써

Variable_name이 있는 변수를 표시합니다. ('tmp_table_size', '최대_힙_테이블_크기');

tmp_table_size 및 max_heap_table_size의 크기를 알고 있습니다.。

7.오픈 테이블:'open%tables%'와 같은 전역 상태 표시 실행; 다음과 같이 표시:

 

Open_tables는 열린 테이블의 수를 나타냅니다.,Opened_tables는 열린 테이블의 수를 나타냅니다.,Opened_tables의 수가 너무 많은 경우,

구성의 table_cache 값이 너무 작을 수 있습니다.。더 크게 만들어,512와 같은.

'open%tables%'와 같은 show global status를 실행하여;和 'table_cache'와 같은 변수 표시;

Open_tables 찾기 ,열린_테이블 ,테이블 캐시(5.1.3이 값을 table_open_cache라고 하면)의 가치,

그들은 다음 관계를 만족한다。

open_tables / 열린_테이블 * 100% >= 85%

open_tables / 테이블 캐시(5.1.3이 값을 table_open_cache라고 하면) * 100% <= 95%

8.프로세스 사용: 'Thread%'와 같은 전역 상태 표시 실행;나타나다

thread_created는 생성된 스레드 수를 나타냅니다.,Threads_created 값이 너무 큰 경우,

MySQL 서버가 스레드를 생성하고 파괴하고 있음을 나타냅니다.,이것은 더 많은 리소스를 필요로 합니다.,적절하게 늘릴 수 있습니다

구성 파일의 thread_cache_size 값(만약에[mysqld]해당 항목이 없습니다.,직접 추가해주세요)。

상황에 따라 16, 32, 64로 늘리는 등。'thread_cache_size'와 같은 표시 변수를 실행하여;

현재 구성 파일에 설정된 thread_cache_size 값이 무엇인지 결정할 수 있습니다.。사용Threads_created/Connections

캐시 적중률 계산.

 

 

답장을 남겨주세요