• MySQL매뉴얼
    • MySQL 5.6 매뉴얼
    • MySQL 5.1 매뉴얼
    • MySQL 5.0 매뉴얼
    • MySQL HA 매뉴얼
  • 기술문서
    • Xtrabackup 구성
    • 메모리 사용량 모니터링
  • 라이선스
  • 온라인문의
  • 회사소개
  • → 목 록 (MySQL5.6 한글메뉴얼) [close]
  • 1. MySQL 5.6 새로운 기능
  • 2. MySQL 설치 및 업그레이드
  • 3. MySQL Tutorial
  • 4. MySQL 프로그램
  • 5. MySQL 서버관리
  • 6. 보안
  • 7. 백업 및 복구
  • 8. 최적화
  • 9. Language Structure(언어구조)
  • 10. Character Sets(Globalization)
  • 11. 데이터형(Data Types)
  • 12. 함수와 연산자
  • 13. SQL 문법
  • 14. InnoDB 스토리지 엔진
  • 1. InnoDB 소개
    2. InnoDB의 개념과 아키텍처
    3. InnoDB 구성
    4. InnoDB 관리
    5. InnoDB 테이블 스페이스 관리
    6. InnoDB 테이블 관리
    7. InnoDB 압축 테이블
    8. InnoDB 파일 형식 관리
    9. InnoDB Row Storage and Row Formats
    10. InnoDB 디스크 I/O 및 파일 영역 관리
    11. InnoDB와 온라인 DDL
    12. InnoDB 부팅 옵션 및 시스템 변수
    13. InnoDB의 성능
    1. InnoDB 버퍼 풀 구성
    1. InnoDB 버퍼 풀의 인출 (미리 읽기) 구성
    2. InnoDB 버퍼 풀 플러시 빈도 구성
    3. 버퍼 풀을 스캔에 견딜 수 있도록 한다
    4. 다중 버퍼 풀 인스턴스 사용
    5. 재기동을 고속화하기 위한 InnoDB버퍼 풀의 프리 로드
    6. InnoDB 버퍼 풀 플래시 튜닝
    2. InnoDB 상호 배타적 잠금 및 읽기 / 쓰기 잠금 구현
    3. InnoDB를위한 메모리 할당 구성
    4. InnoDB 변경 버퍼링 구성
    5. InnoDB의 스레드 병렬성 구성
    6. InnoDB 백그라운드 I/O 스레드 수 구성
    7. 그룹 커밋
    8. InnoDB 마스터 스레드의 I/O 속도의 구성
    9. InnoDB 스핀 루프에서 PAUSE 명령 사용
    10. 스핀 록 폴링 구성
    11. InnoDB의 MySQL 성능 스키마와 통합
    12. 다중 롤백 세그먼트에 의한 확장성 향상
    13. InnoDB 퍼지 스케줄링 구성
    14. InnoDB의 읽기 전용 트랜잭션 최적화
    15. 체크섬의 고속화를위한 CRC32 체크섬 알고리즘의 사용
    16. 옵티 마이저 통계
    17. InnoDB 테이블에 ANALYZE TABLE의 복잡성 추정
    14. InnoDB INFORMATION_SCHEMA 테이블
    15. InnoDB 모니터
    16. InnoDB 백업 및 복구
    17. InnoDB와 MySQL 복제
    18. InnoDB 및 memcached의 통합
    19. InnoDB 문제 해결
  • 15. 기타 스토리지 엔진
  • 16. 고가용성 및 확장성
  • 17. 리플리케이션
  • 18. MySQL Cluster
  • 19. 파티셔닝
  • 20. Stored Programs and Views
  • 21. INFORMATION_SCHEMA
  • 22. PERFORMANCE SCHEMA
  • 23. 컨넥터 및 API
  • 24. MySQL 확장
  • 25. MySQL Enterprise Edition
  • 26. MySQL Workbench
  • 27. 제약 및 제한
  • 28. MySQL 5.7 새로운 기능

14.13.1.6 InnoDB 버퍼 풀 플래시 튜닝

구성 옵션 innodb_flush_neighbors 및 innodb_lru_scan_depth 를 사용하면 InnoDB 버퍼 풀 에 대한 플래시 프로세스의 특정 측면을 조정할 수 있습니다. 이 옵션은 주로 쓰기가 많은 워크로드 에 도움이됩니다. 부하가 높은 DML 활동은 그것이 충분히 적극적이지 않으면 플래시가 지연 버퍼 풀에서 과도한 메모리가 사용되는 경우가 있습니다. 또는 그 메커니즘이 적극적 너무 플래시가 디스크 쓰기에 의해 I / O 용량이 포화 상태가 있습니다. 이상적인 설정은 워크로드 데이터 액세스 패턴 및 스토리지 구성 (예를 들어, 데이터가 HDD 또는 SSD 장치 모두에 저장되어 있는지)에 따라 다릅니다.

워크로드 의 부하가 항상 높은 시스템 또는 작업 부하가 크게 변동하는 시스템에서는 여러 구성 옵션 innodb_adaptive_flushing_lwm , innodb_max_dirty_pages_pct_lwm , innodb_io_capacity_max 및 innodb_flushing_avg_loops 를 사용하여 InnoDB 테이블에 대한 플래시 동작을 조정할 수 있습니다. 이 옵션은 innodb_adaptive_flushing 옵션에 의해 사용되는 계산식에 입력됩니다.

innodb_adaptive_flushing , innodb_io_capacity 및 innodb_max_dirty_pages_pct 옵션은 다음 옵션 innodb_adaptive_flushing_lwm , innodb_io_capacity_max 및 innodb_max_dirty_pages_pct_lwm 의해 제한 또는 확장됩니다.

  • InnoDB 적응 형 플래시 메커니즘은 모든 경우에 적절한 것은 아닙니다. 이것이 가장 큰 혜택을 제공하는 것은 Redo 로그 가 가득 차면 우려가있는 경우입니다. innodb_adaptive_flushing_lwm 옵션은 Redo 로그 용량의 '낮은 경계 값 "의 비율 (%)을 지정합니다. 임계 값을 초과하면 InnoDB 는 innodb_adaptive_flushing 옵션으로 지정되어 있지 않은 경우에도 적응 형 플래시를 사용합니다.

  • 플래시 활동이 크게 지연되는 경우, InnoDB 는 innodb_io_capacity 로 지정되어보다 적극적으로 플래시 수 있습니다. innodb_io_capacity_max 는 I / O의 스파이크에 의해 서버의 모든 용량이 소비되어 버리지 않도록이 같은 긴급 상황에서 사용되는 I / O 용량의 상한을 나타냅니다.

  • InnoDB 는 더티 페이지의 비율 (%)이 innodb_max_dirty_pages_pct 값을 초과하지 않도록 버퍼 풀에서 데이터를 플래시하려고합니다. innodb_max_dirty_pages_pct 의 기본값은 75입니다.

    참고

    innodb_max_dirty_pages_pct 설정은 플래시 활동의 대상을 설정합니다. 플래시의 빈도에 영향을주지 않습니다. 플래시 주파수 관리는 섹션 14.13.1.2 "InnoDB 버퍼 풀 플러시 빈도 구성" 을 참조하십시오.

    innodb_max_dirty_pages_pct_lwm 옵션은 더티 페이지의 비율을 제어하기 위해 사전 플래시를 사용하여 이상적으로 더티 페이지의 비율 (%)이 innodb_max_dirty_pages_pct 에 도달하지 않도록하는 더티 페이지의 비율 (%)을 나타내는 "낮은 경계 값 "의 값을 지정합니다. innodb_max_dirty_pages_pct_lwm=0 의 값을 지정하면 "사전 플래시"동작이 무효가됩니다.

상기 참조 된 옵션의 대부분은 쓰기 집약적 인 워크로드를 장기간 수행하고 있으며, 디스크에 쓰기를 대기하고있는 변경에 따라 잡기 위해로드 시간 단축이 거의없는 서버에 가장 적합 있습니다.

innodb_flushing_avg_loops 은 InnoDB 가 이전에 계산 된 플래시 상태의 스냅 샷을 보존하는 반복의 수를 정의합니다. 이것은 적응 형 플래시가 전경 부하의 변화에​​ 얼마나 빠르게 응답하는 방법을 제어합니다. innodb_flushing_avg_loops 에 큰 값을 설정하면 InnoDB 가 이전에 계산 된 스냅 샷을 오랫동안 유지하기 위해 적응 형 플래시는 더 느리게 응답합니다. 큰 값은 또한 포 그라운드 작업과 백그라운드 작업 사이의 긍정적 인 피드백도 절감되지만 큰 값을 설정하는 경우, InnoDB 의 Redo 로그의 사용률이 75 % (비동기 플래시가 시작되는 하드 코드 된 제한)에 도달하지 않도록 할 및 innodb_max_dirty_pages_pct 설정에 의해 더티 페이지 수가 워크로드에 적합한 수준으로 유지되도록하는 것이 중요합니다.

워크로드에 일관성이 있고 innodb_log_file_size 가 크고 스파이크가 작기 때문에 Redo 로그 공간의 사용률이 75 %에 미달하는 시스템에서는 플래시를 최대한 부드러운 상태로 유지하는 데 큰 innodb_flushing_avg_loops 값을 사용하는 같이하십시오. 부하의 스파이크가 극단적 인 시스템 또는 로그 파일에서는 많은 공간이 제공되지 않는 시스템에서는 더 작은 innodb_flushing_avg_loops 값을 검토하십시오. 이 값을 작게하면 플래시에서 부하를 밀접하게 추적 할 수 있기 때문에 Redo 로그 공간의 사용률이 75 %에 도달하지 않도록하는 데 도움이됩니다.

서울시 강남구 영동대로 602 6층
TEL: 02-6061-0006  /  E: csr@mysqlkorea.com
주식회사 이노클러스터  등록번호 : 727-86-02261
Copyright © innocluster Co. ltd. all rights reserved