• 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.1 InnoDB 버퍼 풀의 인출 (미리 읽기) 구성

미리 요청은 버퍼 풀 내의 여러 페이지가 곧 필요하게 될 것이라는 예측하에 비동기 적으로 이러한 페이지 프리 페치하는 I / O 요청입니다. 이러한 요구에 따라 모든 페이지가 하나의 범위 내에 이동됩니다. InnoDB는 I / O 성능을 향상시키기 위해 두 개의 예측 알고리즘을 사용합니다.

선형 예측은 순차적으로 액세스되는 버퍼 풀의 페이지에 따라 어떤 페이지가 곧 필요할 수 있는지를 예측하는 방법입니다. 구성 매개 변수 innodb_read_ahead_threshold 를 사용하여 비동기 읽기 요청을 트리거하는 데 필요한 순차 페이지 액세스 수를 조정함으로써 InnoDB가 언제 예측 작업을 수행할지 여부를 제어합니다. 이 매개 변수가 추가되기 전에, InnoDB는 현재 범위의 마지막 페이지를 읽을 때 다음의 범위 전체에 대한 비동기 프리 페치 요청을 발행 여부를 추측뿐이었습니다.

구성 매개 변수 innodb_read_ahead_threshold 순차 페이지 액세스 패턴의 검출에 대해 InnoDB가 얼마나 빨리 반응 하는지를 제어합니다. 범위에서 순차적으로 읽은 페이지 수가 innodb_read_ahead_threshold 이상인 경우, InnoDB는 다음의 범위 전체 비동기 미리 읽기 작업을 시작합니다. 이것은 0에서 64까지의 임의의 값으로 설정할 수 있습니다. 기본값은 56입니다. 이 값이 클수록 액세스 패턴의 체크는 엄격하게됩니다. 예를 들어,이 값을 48으로 설정하면, InnoDB는 현재 범위의 48 페이지가 순차적으로 액세스 된 경우에만 선형 예측 요청을 트리거합니다. 이 값이 8 인 경우, InnoDB는 익스텐트의 8 페이지가 순차적으로 액세스 된 것만으로도 비동기 예측을 트리거합니다. 이 매개 변수의 값은 MySQL 구성 파일 에서 설정하거나 SET GLOBAL 명령 (여기에는 SUPER 권한이 있어야합니다)에서 동적으로 변경할 수 있습니다.

랜덤 예측은 이미 버퍼 풀에있는 페이지에 따라 이러한 페이지를 읽은 순서에 관계없이 페이지가 필요한시기 가능성이 있는지를 예측하는 방법입니다. 같은 범위에서 13 개의 연속 된 페이지가 버퍼 풀에 발견되면 InnoDB는 그 범위의 나머지 페이지 프리 페치하는 요구를 비동기 적으로 발행합니다.

랜덤 예측 기능은 InnoDB Plugin (버전 1.0.4)에서 삭제 되었기 때문에, InnoDB Plugin 이 InnoDB 의 "내장"버전이 시점에서는 MySQL 5.5.0에 포함되지 않았습니다. 랜덤 예측은 innodb_random_read_ahead 구성 옵션 (기본적으로 비활성화되어 있습니다)과 함께 MySQL 5.1.59 및 5.5.16 이후에 다시 도입되었습니다. 이 기능을 사용하려면 구성 변수 innodb_random_read_ahead 를 ON 으로 설정합니다.

SHOW ENGINE INNODB STATUS 명령은 예측 알고리즘의 효율성을 평가하는 데 도움이 통계를 표시합니다. 통계는 Innodb_buffer_pool_read_ahead 및 Innodb_buffer_pool_read_ahead_evicted 글로벌 상태 변수의 카운터 정보가 포함되어 있습니다. 이러한 정보는 innodb_random_read_ahead 설정을 조정하는 데 도움이 될 수 있습니다.

또한 MySQL 5.6에서 랜덤 미리 읽기 기능을 부활 한 것으로, SHOW ENGINE INNODB STATUS 명령에는 Innodb_buffer_pool_read_ahead_rnd 가 다시 포함되어 있습니다. Innodb_buffer_pool_read_ahead 은 그 현재의 이름을 유지하고 있습니다. (이전 릴리스에서는 Innodb_buffer_pool_read_ahead_seq 으로 표시했습니다.)

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

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