brunch

407. Aurora 성능 개선하기

by Master Seo

목표

Aurora 성능 저하의 원인인 Slow 쿼리 찾는 순서는 알아보자.


<1> 현황 확인과 Aurora slow 쿼리 로그 활성화하기

<2> cloudwatch metric 만들기

<3> RDS 성능 보기

<4> Query 최적화

<5> Auto scaling 설정으로 개선하기




<1> 현황 확인과 Aurora slow 쿼리 로그 활성화하기


10 aurora.png



1

RDS > 데이터베이스 > DB클릭 > 수정 > Log 내보내기 > 느린 쿼리 로그 체크 > 계속 > 클러스터 수정.



2.

DB 파라미터 그룹은 2개가 있다.

1) DB 클러스터 파라미터 그룹

2) DB 파라미터 그룹



3

DB 파라미터 그룹 생성 하기

RDS > 파라미터 그룹 > aurora 5.6 > 파라미터 그룹 > 파라미터 그룹 생성하기 > 그룹 이름

slow-seo-db1

slow-seo-db1

생성



1)

slow-seo-db1 파라미터 그룹 수정하기


2)

파라미터 그룹 > slow-seo-db1 > 파라미터 편집 > slow_query_log > 1

변경사항 저장


3)

long_query_time > 2 > 변경사항 저장

// 실행하는데 2초 이상 걸리는 모든 쿼리가 기록된다.


4)

log_output > File로 변경 > 변경 사항 저장


5)

query_cache_type > 2 > 변경 사항 저장




4. 역할 칼럼 - 읽기 데이터 베이스 수정하기


1)

데이터베이스 > 역할 칼럼 - 읽기 클릭 > 수정


2)

데이터 베이스 옵션 > DB 파라미터 그룹 > slow-sep-db1로 변경하기 > 계속 >


3)

수정사항 요약 > 즉시 적용으로 변경 > DB 인스턴스 수정

// 수정 중으로 표시된다. 완료되는데 20분 걸린다.


4)

작업 > 재부팅 > 재부팅

// 완료되는데 20분 걸린다.




5. 로그 확인하기

데이터 베이스 > 역할 읽기 DB 선택 > 로그 및 이벤트 탭 > 로그

slowquery/mysql-slowquery.log

> slowquery/mysql-slowquery.log 보기

닫기




6. DB 연결

1)

EC2 서버 접속 하기


2)

DB 접속하기

mysql -u dbadmin -p -h xxxxxxxxxxxxxx.us-west-2.rds.amazonaws.com

Enter password :


3)

DB 사용하기

USE imdb;


query 1

selete xxxxxxxxxxxxx

// 5분 걸린다.


query 2




<2> Cloudwatch metric 만들기


1

서비스 > cloudwatch > log / log group


insights > select log groups > slow query


2

// 쿼리 실행

action > add to dashboard

add to dashboard

save dashboard


3

services > cloudwatch > Log groups 확인


4

services > cloudwatch > insights > Select log group에서 선택

// 코드 입력

> 쿼리 실행


5

오른쪽 아래 Add to dashboard > 선택 > add to dashboard




<3> RDS 성능 보기


Services > RDS > performance insights > 2개 중 reader 클릭




<4> Query 최적화


1.

DB 접속하기

mysql -u (DBUserName) -p -h (readDBClusterEndpoint)


2

USE db이름;


SHOW TABLES;

DESCRIBE name_display;


3

분석 1

//쿼리


분석 2

//쿼리



4

# Cloudwatch

Cloudwatch > 로그 그룹 > 로그 그룹 선택


5

# RDS

RDS > perfromance insights > reader




<5> Auto scaling 설정으로 개선하기


1.

RDS > 데이터 베이스 > 해당 데이터베이스 > 작업 > 복제본 auto scaling 추가 > Policy name

db-auto-scaling


2

대상 측정치

50

300초

60

1

8

정책 추가


3

트래픽 발생 서버로 접속

// 트래픽 발생시키기


4

확인

Aurora RDS > 데이터 베이스 > 해당 DB클릭 > 모니터링



<6>

https://aws.amazon.com/ko/about-aws/whats-new/2019/05/performance-insights-global-datatabase/


감사합니다.


keyword
매거진의 이전글10탄-Amazon Redshift 실습