BLOG

Amazon CloudWatch를 사용하여 Performance Insights 메트릭에 대한 알림 설정하기
작성일: 2018-10-05

Amazon RDS Performance Insights는 최근에 성능 Insight에서 Amazon CloudWatch로 주요 성능 메트릭을 전송하는 기능을 발표했습니다. 이 기능을 사용하여 이러한 메트릭에 대한 알림을 설정할 수 있습니다.

 

Performance Insights를 사용하도록 설정하면 다음 세 가지 메트릭이 CloudWatch에 자동으로 전송됩니다.

 

  1. DBLoad
  2. DBLoadCPU
  3. DBLoadNonCPU

 

다음 세 가지 지표에 대해 설명합니다.

 

DBLoad
첫 번째 메트릭인 DBLoad는 Performance Insights의 핵심 메트릭입니다. DBLoad는 동시에 활성화된 데이터베이스 연결 수를 나타냅니다. 이 글에서 세션이라고도 하는 활성 연결은 데이터베이스가 아직 결과를 반환하지 않은 데이터베이스에 쿼리를 제출한 연결입니다. 쿼리가 제출된 기간 동안 및 쿼리 결과가 반환되기 전에 쿼리는 여러 상태 중 하나일 수 있습니다. CPU에서 실행 중이거나, CPU를 대기 중이거나, 잠금 또는 I/O와 같은 리소스가 완료될 때까지 기다리거나, 다른 데이터베이스 리소스에 대한 액세스를 기다리는 중입니다.

 

쿼리는 처리하는 동안 일반적으로 이러한 상태로 전환됩니다. 이상적으로 쿼리는 CPU에서 실행되는 모든 시간을 대기 대신 실제로 쿼리를 처리하는 데 사용합니다. 동시에 활성화된 연결 수와 연결 상태가 무엇인지 확인함으로써 데이터베이스의 로드를 빠르고 강력하게 확인할 수 있습니다. DBLoad는 활성 상태의 평균 데이터베이스 연결 수인 AAS(평균 활성 세션)로 측정됩니다. 기본적으로 Performance Insights 대시보드의 DBLoad 차트의 각 점은 1분 이상 소요된 평균 시간입니다.

 

DBLoad에는 두 가지 부분이 있습니다.

 

  1. DBLoadCPU는 연결이 CPU에서 실행 중이거나 CPU에서 실행할 준비가 된 시간을 나타냅니다.
  2. DBLoadNonCPU는 연결이 I/O, 잠금 또는 데이터베이스 버퍼와 같은 데이터베이스 리소스를 대기하는 시간을 나타냅니다.

 

다음 DBLoadCPU에 대해 알아봅시다.

 

DBLoadCPU
알림을 설정할 세 가지 메트릭 중 가장 명확한 메트릭은 DBLoadCPU입니다. DBLoadCPU는 CPU에서 활성 상태이고 실행 가능한 데이터베이스 연결 수를 나타냅니다. 호스트에 충분한 CPU 리소스가 있으면 이 모든 연결이 CPU에서 실행됩니다.

 

모든 vCPU에 대해 해당 CPU에서 연결이 실행될 수 있습니다. 서버에 vCPU보다 실행 준비가 활성 연결이 더 많은 경우 이러한 연결 중 일부는 CPU 리소스를 기다리고 있습니다. 연결 수가 vCPU 수보다 일관되게 높은 경우 CPU 경합이 발생합니다. 이 경우 서버를 확장함으로써 호스트의 CPU 용량을 늘리거나 데이터베이스에 액세스하는 코드를 조정하여 더 효율적으로 사용할 수 있습니다. 따라서 호스트의 CPU 리소스가 포화 상태인 경우 DBLoadCPU가 호스트의 vCPU를 초과할 때 이를 알리는 알림을 설정할 수 있습니다.

 

Performance Insights가 활성화된 인스턴스에 대해 DBLoadCPU에 알림을 설정하려면 CloudWatch 콘솔로 이동하여 Alarms(알림)을 선택합니다.

 

 

알림 페이지에서 Create Alarm(알림 생성)을 선택합니다.

 

 

그런 다음 DBLoadCPU를 입력합니다.

 

 

거기서 알림을 설정할 DB 인스턴스를 선택합니다.

 

 

그런 다음 Next(다음)을 선택합니다.

 

 

이제 알림의 이름을 지정하고 임계값을 설정합니다. 중요한 질문은 임계값을 설정할 값입니다.

 

이 알림은 사용 가능한 CPU보다 CPU에 대한 수요가 많을 때 알립니다. 사용 가능한 CPU는 Performance Insights 대시보드의 최대 vCPU 라인으로 표시됩니다.

 

제 경우에는, 호스트에는 vCPU가 8개 있습니다. 따라서 알림을 9로 설정하면 CPU 수요가 용량을 초과할 때 알림이 표시됩니다.

 

 

Actions(활성화)에서 이메일에 대한 알림을 설정합니다. 이제 CPU 경합이 있을 때 알림을 받습니다. 알림이 발생하면 CPU를 덜 사용하도록 코드를 최적화하거나 더 큰 인스턴스 크기로 마이그레이션을 고려할 수 있습니다.

 

 

 

 

요약

이제 Performance Insights에서 CloudWatch로 주요 성능 메트릭을 전송할 수 있으므로 Amazon RDS 데이터베이스 서버의 높은 부하 상태 또는 병목 현상에 대해 훨씬 쉽게 알릴 수 있습니다.

 

원문 URL: https://aws.amazon.com/ko/blogs/database/set-alarms-on-performance-insights-metrics-using-amazon-cloudwatch/

** 메가존클라우드 TechBlog는 AWS BLOG 영문 게재글중에서 한국 사용자들에게 유용한 정보 및 콘텐츠를 우선적으로 번역하여 내부 엔지니어 검수를 받아서, 정기적으로 게재하고 있습니다. 추가로 번역및 게재를 희망하는 글에 대해서 관리자에게 메일 또는 SNS페이지에 댓글을 남겨주시면, 우선적으로 번역해서 전달해드리도록 하겠습니다.