MySQL system variables

[system variables] host_cache_size

ourzioya 2022. 10. 25. 10:12

 

system variables 목록 :

 

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 값이 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