Loading...
MySQL 9.5 Reference Manual 9.5의 17.8.13 Enabling Automatic InnoDB Configuration for a Dedicated MySQL Server의 한국어 번역본입니다.
아래의 경우에 피드백에서 신고해주신다면 반영하겠습니다.
감사합니다 :)
서버가
--innodb-dedicated-server
옵션으로 시작되면,
InnoDB는 다음 시스템 변수들의 값을 자동으로 계산하여 설정합니다:
MySQL 인스턴스가 사용 가능한 모든 시스템 리소스를 사용할 수 있는 전용 서버에 위치할 때에만
--innodb-dedicated-server 사용을 고려해야 합니다.
예를 들어, MySQL Server를 MySQL만 실행하는 Docker 컨테이너나 전용 VM에서 실행하는 경우가 이에 해당합니다.
MySQL 인스턴스가 다른 애플리케이션과 시스템 리소스를 공유하는 경우에는
--innodb-dedicated-server 사용이 권장되지 않습니다.
각 영향을 받는 변수의 값은 다음 목록에 설명된 대로
--innodb-dedicated-server에 의해 결정되고 적용됩니다:
버퍼 풀 크기는 서버에서 감지된 메모리 양에 따라 다음 표와 같이 계산됩니다:
Table 17.8 자동으로 설정되는 Buffer Pool 크기
| 감지된 Server Memory | Buffer Pool 크기 |
|---|---|
| 1GB 미만 | 128MB (기본값) |
| 1GB ~ 4GB | detected server memory * 0.5 |
| 4GB 초과 | detected server memory * 0.75 |
Redo 로그 용량은 서버에서 사용 가능한 논리 프로세서 수에 따라 계산됩니다. 공식은 (사용 가능한 논리 프로세서 수 / 2) GB이며, 동적 기본 최대값은 16GB입니다.
앞서 나열된 변수 중 하나가 옵션 파일이나 다른 곳에서 명시적으로 설정된 경우,
이 명시적 값이 사용되며, 다음과 유사한 시작 경고가
stderr에 출력됩니다:
[Warning] [000000] InnoDB: Option innodb_dedicated_server is ignored for innodb_buffer_pool_size because innodb_buffer_pool_size=134217728 is specified explicitly.
하나의 변수를 명시적으로 설정해도 다른 옵션들의 자동 설정은 방지되지 않습니다.
서버가
--innodb-dedicated-server 옵션과 함께 시작되고
innodb_buffer_pool_size가
명시적으로 설정된 경우, 버퍼 풀 크기를 기반으로 하는 변수 설정은
명시적으로 정의된 버퍼 풀 크기 값이 아니라, 서버에서 감지된 메모리 양에 따라 계산된 버퍼 풀 크기 값을 사용합니다.
참고
자동 설정은 MySQL server가
--innodb-dedicated-server 옵션으로 시작될 때에만 적용됩니다.
나중에 영향을 받는 변수 중 하나를 명시적으로 설정하면,
그 값은 미리 결정된 값을 재정의하고, 명시적으로 설정한 값이 적용됩니다.
이 변수들 중 하나를 DEFAULT로 설정하면,
Manual에 있는 해당 변수 설명에 표시된 실제 기본값으로 설정되며,
--innodb-dedicated-server에 의해 설정된 값으로 되돌아가지는
않습니다.
대응하는 시스템 변수인
innodb_dedicated_server는
--innodb-dedicated-server
(또는 --innodb-dedicated-server=ON,
--innodb-dedicated-server=OFF) 옵션으로 서버를 시작하는 경우에만 변경되며,
그 외에는 read-only입니다.
17.8.12 Container Detection and Configuration
17.9 InnoDB Table and Page Compression