AWS RDS 에서 Slow Query 확인하기
본 내용은 링크의 내용을 기본으로 한다
AWS RDS 에서 slow query를 확인하는 방법을 확인해보자. 이를 위해서는 다음을 수행해야 한다.
- RDS 인스턴스 생성
- parameter group 설정 및 적용
- slow_query 확인
1. RDS 인스턴스 생성
이전글(AWS RDS, Aurora 와 MySQL Workbench 연결하기) 참고. 꼭 RDS 인스턴스에 Workbench를 연결한다.
2. parameter group 설정 및 적용
새로운 parameter group을 생성하고 slow query 관련 설정후 RDS 인스턴스에 적용해야 한다.
1) parameter group 생성 및 설정
RDS 메뉴 진입 -> Parameter groups -> Create parameter group -> 값 입력후 create
RDS 메뉴 진입 -> Parameter groups -> 생성한 parameter group 선택 -> Edit parameters -> 설정 및 저장
- Slow_query_log = 1
- Long_query_time = 0
- log_output = TABLE
여기서 long_query_time은 확인을 위해서 0초로 설정했지만, 필요에 따라 적절한 값을 설정한다.
2) parameter group 적용
RDS 메뉴 진입 -> Databases -> 인스턴스 선택 -> Modify -> DB parameter group 에서 새로 생성한 parameter group 선택 및 저장 -> 즉시적용 선택
적용후에는 database의 상태가 Modifying 으로 변한다. Available가 되기를 기다린다.
3. slow query 확인
"1. RDS 인스턴스 생성" 에서 생성한 DB에 연결된 Workbench에서 Select, Create 등 아무 Query나 입력한다. 위에서 long_query_time을 0초로 설정했기 때문에 모든 query가 logging된다. 실행후 아래와 같이 mysql.slow_log 테이블을 조회한다
SELECT * FROM mysql.slow_log;
아래와 같은 결과를 확인할 수 있다.
sql_text 내용은 다음과 같이 확인할 수 있다.
SELECT *, CAST((sql_text) AS CHAR(10000) CHARACTER SET utf8) AS sql_text_str FROM slow_log;