오늘도 한 뼘 더

[AWS] RDS - Slow Query 모니터링 본문

DevOps & Infra/AWS

[AWS] RDS - Slow Query 모니터링

나른한댕댕이🐶 2022. 7. 1. 13:43
728x90
반응형

  # 배경  

서버를 운영하는데 CPU가 올라가거나 request 수가 크지 않았음에도 서버가 timeout이 나서 다운이 되는 일이 발생했다. 어떠한 부분에서 문제가 있는지 알아보기 위해서 Slow Query 모니터링이 필요하다.

 

  # RDS Slow Query 설정하기  

1. 파라미터 그룹 열기

사용 중인 파라미터 그룹에 접근한다.

 

2. 파라미터 편집

파라미터 편집 > slow_query_log 검색

  • slow_query_log의 기본값은 0 또는 없음이다. 로깅을 하기 위해서는 값을 1로 지정하고 저장한다. 
  • general_log도 똑같이 설정한다.

 

  • long_query_time : 몇초 이상 걸리는 query를 로깅할 것 인지

 

3. 로깅 된 값 조회하기

- 파라미터 그룹에 log_output을 검색하면 다음과 같이 TABLE로 세팅이 되어있다.

  • TABLE로 세팅을 할 경우 mysql문을 사용하여 조회가 가능하다.
 SELECT * FROM mysql.slow_log;
 
 SELECT * FROM mysql.general_log;
  • 이때 sql_text가 깨져서 보이지 않는 문제가 발생하는데 이는 converting을 통해 해결이 가능하다. 
 SELECT CONVERT(sql_text USING utf8 ) FROM mysql.slow_log ;

 

- 설정값을 FILE로 변경한 경우

  > RDS의 로그 및 이벤트 탭의 로그에 기록되는 것을 확인할 수 있다. 

728x90
반응형
Comments