2019년 2월 20일 수요일

[mysql] global 변수 값 가져오기, 모니터링 기본 공식


상태 값 가져오기
show status WHERE Variable_name LIKE '%connect%' OR Variable_name LIKE '%thread%' OR Variable_name LIKE '%clients%'


커넥션 설정 정보 가져오기
show variables like '%max_connection%';



위 쿼리로 가져온 값을 공식에 대입하여 모니터링용 값을 구한다.

//Cache Miss Rate(%) = Threads_created / Connections * 100
//Connection Miss Rate(%) = Aborted_connects / Connections * 100
//Connection Usage(%) = Threads_connected / max_connections * 100


어디선가 퍼온내용...

* Connection Usage(%)가 100% 라면 max_connections 수를 증가시켜 주십시요. Connection 수가 부족할 경우 Too Many Connection Error 가 발생합니다.
* DB 서버의 접속이 많은 경우는 wait_timeout 을 최대한 적게 (10~20 정도를 추천) 설정하여 불필요한 연결을 빨리 정리하는 것이 좋습니다. 그러나 Connection Miss Rate(%) 가 1% 이상이 된다면 wait_timeout 을 좀 더 길게 잡는 것이 좋습니다.
* Cache Miss Rate(%) 가 높다면 thread_cache_size를 기본값인 8 보다 높게 설정하는 것이 좋습니다. 일반적으로 threads_connected 가 Peak-time 시 보다 약간 낮은 수치로 설정하는 것이 좋습니다.



커넥션 설정 정보 변경하기 (바로 적용됨) 재시작시는 기본설정으로 돌아감.
set global max_connections=10000






댓글 없음:

댓글 쓰기

[OS]리눅스서버 WAS 관련 권한 관리

[Best Practice] Linux 서버 WAS 권한 체계 구축 가이드 리눅스 환경에서 다수의 운영자가 WAS(Tomcat, Nginx 등)를 공동 관리할 때 발생하는 권한 꼬임(Permission Denied) 문제를 방지하기 위한 표준 설정...