• 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.2 InnoDB 버퍼 풀 플러시 빈도 구성

InnoDB는 버퍼 풀 의 더티 페이지 (변경 되었으나 아직 데이터베이스 파일에 기록되지 않은 페이지)의 플래시 등의 특정 작업을 백그라운드에서 실행합니다. InnoDB는 현재 버퍼 풀의 더티 페이지의 비율 (%)이 innodb_max_dirty_pages_pct 을 초과하는 경우에 버퍼 풀 페이지를 플래시합니다.

InnoDB는 Redo 로그 생성 속도와 플래시의 현재의 빈도에 따라 플래시의 필요한 빈도를 추정하는 알고리즘을 사용합니다. 그 목적은 버퍼 플러시 활동이 항상 버퍼 풀을 "깨끗한"상태로 유지하기 위해 필요에 대응되도록하여 전반적인 성능을 부드럽게 할 수 있습니다. 플래시 빈도의 자동 조정은 보통의 읽기 및 쓰기 활동에 사용 가능한 I / O 용량이 버퍼 풀의 과도한 플래시에 의해 제한되는 같은 경우 처리량의 급격한 하락을 방지하는 데 도움 수 있습니다.

InnoDB는 로그 파일을 순환 적으로 사용합니다. 로그 파일의 일부를 재사용하기 전에 InnoDB는 Redo 로그 파일 엔트리가 그 부분에 포함되어있는 더티 버퍼 풀 페이지를 모든 디스크에 플래시합니다. 이 프로세스는 샤프 체크 포인트 라고합니다. 쓰기가 많은 워크로드에서는 모든 로그 파일에 기록 된 많은 Redo 정보가 생성됩니다. 로그 파일에서 사용 가능한 모든 공간이 부족 해지면 샤프 체크 포인트가 발생하기 때문에 처리량이 일시적으로 감소합니다. 이 상황은 innodb_max_dirty_pages_pct 에 도달하지 않더라도 발생할 수 있습니다.

InnoDB 버퍼 풀의 더티 페이지 수와 Redo가 생성되는 비율을 측정함으로써 이러한 시나리오를 해결하려면 경험칙에 근거한 알고리즘을 사용합니다. 이러한 수치에 따라 InnoDB 버퍼 풀에서 초당 플래시 더티 페이지 수를 결정합니다. 이 자기 ​​적응 형 알고리즘은 워크로드의 갑작스런 변화에 대처할 수 있습니다.

내부 벤치 마크에서도 나타나고있는 바와 같이,이 알고리즘은 일정 기간 동안 처리량을 유지뿐만 아니라 전체 처리량도 크게 향상시킬 수 있습니다.

적응 형 플래시는 워크로드의 I / O 패턴에 큰 영향을 미칠 수 있기 때문에 innodb_adaptive_flushing 구성 매개 변수를 사용하여이 기능을 해제 할 수 있습니다. innodb_adaptive_flushing 의 기본값은 TRUE 이며, 적응 형 플래시 알고리즘을 사용할 수 있습니다. 이 매개 변수의 값은 MySQL 옵션 파일 ( my.cnf 또는 my.ini )로 설정하거나 SET GLOBAL 명령 (여기에는 SUPER 권한이 있어야합니다)에서 동적으로 변경할 수 있습니다.

InnoDB의 I / O 성능 자세한 내용은 섹션 8.5.7 "InnoDB 디스크 I / O 최적화" 를 참조하십시오.

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