brunch

You can make anything
by writing

C.S.Lewis

by Master Seo Jun 15. 2020

407. Aurora 성능 개선하기

목표 

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


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

<2> cloudwatch metric 만들기

<3> RDS 성능  보기

<4> Query 최적화

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




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




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/


감사합니다.


브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari