MySQL system variables
[system variables] host_cache_size
ourzioya
2022. 10. 25. 10:12
MySQL system variables
MySQL system variables system variables 포맷 system variables 값 확인 방법 system variables 값 수정 방법 system variables Modifier system variables 목록 MySQL system variables MySQL system variables 은 MySQL 의 동작에 영향을 주는
zioya.tistory.com
- host cache 의 크기를 지정합니다.
- MySQL은 접속한 Client host 의 IP 와 이름, 에러 정보를 저장하는 메모리 cache 를 관리합니다. 이 정보는 Performance Schema 관리 database 의 host_cache 테이블에도 저장됩니다. host_cache_size 는 메모리 host cache 의 크기와 host_cache 테이블의 크기를 지정합니다.
- host cache 는 MySQL Server 로 접속하는 Client 의 host 에 대한 DNS lookup 을 피하기 위해 사용됩니다. Client 의 정보가 cache 에 저장되면 다음 접속 시 에는 DNS lookup 없이 cache 의 정보를 참고할 수 있어 효율적입니다.
- default 값은 아래와 같이 계산 됩니다.
- max_connections system variables 값이 500 이하이면 128 에 max_connections 값이 더해집니다.
- max_connections system variables 값이 500 이 초과되면 20 이 증가할때 마다 1씩 더해진 값을 가집니다. 이때 값은 2000 까지로 제한됩니다.
max_connections 값이 500 이하일 경우 | max_connections=151 이면 host_cache_size = 128 + 151 = 279 |
max_connections 값이 500 초과할 경우 | max_connections=540 이면 500 에서 40 이 초과 되었으므로 2 를 더합니다. host_cache_size = 128 + 500 + 2 = 630 |
- host_cache_size 값이 0으로 지정되면 host cache 를 사용하지 않습니다. 따라서 매번 DNS lookup 을 수행합니다.
- host cache 를 사용하지 않는 다른 방법으로 --skip-host-cache 옵션을 사용할 수 있습니다. 그러나 이 옵션은 MySQL 8.0.29 이상의 버전에서 deprecated 되었습니다.
- host_cache_size 의 값을 변경하면 메모리 host cache 와 host_cache 테이블을 비웁니다.
- 이때 Client 의 접속 오류 횟수 초과로 인하여 block 된 Client 들에 대한 block 을 해제하게 됩니다.
- max_connect_errors system variables 을 참고하세요.
- Global scope 의 변수입니다.
- MySQL Server 실행 중에 값을 변경할 수 있습니다. (Dynamic)
- Command-line 옵션으로 사용될 경우 아래와 같은 형식으로 사용합니다.
--host-cache-size=number
아래는 Option 파일에서 사용한 예입니다.
[server]
host_cache_size=279