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

Services >  RDS > 데이터베이스 >  DB클릭 >   수정 >  Log expots에서  느린 쿼리 로그  체크  > 계속  > 클러스터 수정.



2. 

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

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

2) DB 파라미터 그룹


DB 파라미터 그룹 생성 하기

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

slow-server

slow-server

만들기



slow-server의   파라미터 그룹 수정하기



1

파라미터 그룹 >  slow-server > 매개 변수 편집 >  slow_query_log  > 1

저장


2

long_query_time  >  2   >  저장

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

저장


3

log_output  > file로 변경

저장


4

query_cache_type

2

저장



#  데이터 베이스 수정하기


1

데이터베이스 > 역할 칼럼  :  Reader 

수정


2

 Database Options >  DB parameter group > slow-server로 변경하기  >  계속  > 

scheduling of modifications  >  apply immediately > Modify DB instance 

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


3. Actions   >   Reboot 하여 재부팅하기

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



4.

Database > 해당 DB 선택 >  Log & Event 탭  > 

logs

slowquery/mysql-slowquery.log  name칼럼   >    slowquery/mysql-slowquery.log  보기

닫기




#  DB 연결

1

서버 접속 하기


2

DB 접속하기

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

Enter password :


DB 사용하기


USE imdb; 


query 1

selete  xxxxxxxxxxxxx

// 5분 걸린다.


query 2


query 3


query 4




<2>  그래프로 확인하기 위해 Cloudwatch metric 만들기


services > cloudwatch > log / log group


insights > select log groups > slow query


// 쿼리

쿼리 실행


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

//쿼리




# Cloudwatch

서비스 > cloudwatch >   log group   >  쿼리 로그 그룹 선택




# RDS

Services > RDS > perfromance insights > reader 




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


1.

RDS > Dababase >  해당 데이터베이스 >  action   >  add replica auto scaling > Policy name

replica-auto-scaling


add auto scaling policy  확장  > Target value

50

300

60

1

8

app policy



2

트래픽 발생 서버로 접속 

// 트래픽 발생시키기 



3 확인

Aurora RDS   >  Database   > 해당 DB클륵  > 모니터링 



감사합니다.


매거진의 이전글 406. CloudFormation Designer

매거진 선택

키워드 선택 0 / 3 0
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari