Cloud watch로 RDS 데이터 분석

2024. 8. 10. 12:02TIL

✔오늘 배운 중요한 🔑 point

  • CPUUtilization과 FreeableMemory는 인스턴스의 전반적인 성능 상태를 보여준다
  • Latency 메트릭은 사용자 경험에 직접적으로 영향을 미치는 중요한 지표이다.
  • DatabaseConnectionsDiskQueueDepth는 특정 워크로드에서 병목 현상을 발견하는 데 중요하다.

🎯 오늘 배운 내용

 

EC2 뿐만아니라 RDS, S3등의 메트릭 데이터도 활용할 수 있다. S3의 경우에는 S3 요청 메트릭을 수동으로 활성화해줘야 하며 해당 메트릭을 요청할때마다 비용이 청구가 된다.

 

RDS

 

RDS 관련 활용할 수 있는 메트릭 데이터들

CPUUtilization: 인스턴스의 CPU 사용률을 %로 표시

CPU 사용률이 80% 이상일 경우 인스턴스의 크기 조정을 고려하는 등 참고하는 지표로 사용할 수 있다.

 

ReadIOPS : 인스턴스에서 초당 수행된 읽기 작업 수

 IOPS가 지나치게 높으면 디스크 I/O 병목 현상이 발생할수도 있으니 성능 최적화를 고려해볼 수 있다.

 

ReadLatency: 데이터를 읽는데 걸리는 평균 시간(0.001초)

지연시간이 계속해서 높은 수치로 나온다면 IOPS를 줄이거나 디스크 성능 향상을 고려해볼 수 있다.

 

WriteIOPS: 인스턴스에서 초당 수행된 쓰기 작업 수

IOPS가 높으면 디스크에 과부화를 일으켜 성능 저하가 발생할 수 있다.

 

WriteLatency: 디스크에 데이터를 쓰는데 걸리는 평균 시간 (0.001초)

쓰기 지연 시간이 높다면 쓰기 패턴을 최적화 하거나 디스크 성능 향상을 고려해볼 수 있다.

 

DatabaseConnections: DB에 연결된 활성 연결 수

연결 수가 급증하거나 지속적으로 높은 수치가 나타난다면 DB 인스턴스의 크기 조정을 고려해볼 수 있다.

 

FreeableMemory: 인스턴스에서 사용가능한 메모리 양(Byte)

메모리 사용량이 높고 사용 가능한 메모리가 적다면 메모리 릭 또는 메모리 사용 최적화를 고려해볼 수 있다.

 

EBSByteBalance%: EBS 볼륨에서 퍼포먼스 크레딧의 사용률

EBSByteBalane%가 낮으면 성능이 저하될 가능성이 존재하므로 IOPS 제한을 높이거나 볼륨 유형 변경을 고려해볼 수 있다.

 

DiskQueueDepth: 디스크 I/O 작업의 대기열에 있는 작업 수

디스크가 처리하지 못하고 대기중인 작업의 수 , 대기열이 길다면 디스크 I/O가 과부하 상태일 수 있다.

 

🤔 어떻게 활용할까?

다양한 메트릭들을 종합적으로 분석함으로써 인스턴스의 성능 상태를 평가하고, 성능 최적화가 필요한 부분을 파악할 수 있게 되었다.

📓 오늘의 한줄

"It's fine to celebrate success, but it is more important to heed the lessons of failure."

- Bill Gates -