Amazon CloudWatch 지표를 사용한 Aurora MySQL에 대한 DB 인스턴스 사용량 평가
CloudWatch 지표를 사용하여 유 인스턴스 처리량을 모니터링하고 DB 인스턴스 클래스가 애플리케이션에 제공하는 리소스가 충분한지 판단할 수 있습니다. DB 인스턴스 클래스 한도에 대한 자세한 내용은 Aurora에 대한 DB 인스턴스 클래스의 하드웨어 사양 섹션을 참조하세요. DB 인스턴스 클래스의 사양을 찾아 네트워크 성능을 찾습니다.
DB 인스턴스 사용량이 인스턴스 클래스 한도에 가까워지면 성능이 느려질 수 있습니다. CloudWatch 지표를 통해 이러한 상황을 확인할 수 있으므로 더 큰 인스턴스 클래스로 수동 스케일 업할 계획을 세울 수 있습니다.
다음 CloudWatch 지표 값을 조합하여 인스턴스 클래스 한도에 가까워졌는지 확인하세요.
-
NetworkThroughput – Aurora DB 클러스터의 각 인스턴스에 대해 클라이언트가 수신 및 전송한 네트워크 처리량(throughput)입니다. 이 처리량(throughput) 값에서 DB 클러스터의 인스턴스와 클러스터 볼륨 간 네트워크 트래픽은 제외됩니다.
-
StorageNetworkThroughput – Aurora DB 클러스터의 각 인스턴스에서 Aurora 스토리지 하위 시스템으로 수신 및 전송한 네트워크 처리량(throughput)입니다.
NetworkThroughput을 StorageNetworkThroughput에 추가하여 Aurora DB 클러스터의 각 인스턴스가 Aurora 스토리지 하위 시스템에서 수신 및 전송한 네트워크 처리량(throughput)을 확인하세요. 인스턴스에 대한 인스턴스 클래스 한도는 이 두 지표를 합한 값보다 커야 합니다.
다음 지표를 사용하여 전송 및 수신 시 클라이언트 애플리케이션의 네트워크 트래픽에 대한 추가 세부 정보를 검토할 수 있습니다.
-
NetworkReceiveThroughput – Aurora MySQL DB 클러스터의 각 DB 인스턴스가 클라이언트로부터 수신한 네트워크 처리량입니다. 이 처리량에서 DB 클러스터의 인스턴스와 클러스터 볼륨 간 네트워크 트래픽은 제외됩니다.
-
NetworkTransmitThroughput – Aurora DB 클러스터의 각 인스턴스가 클라이언트로 전송한 네트워크 처리량(throughput)입니다. 이 처리량에서 DB 클러스터의 인스턴스와 클러스터 볼륨 간 네트워크 트래픽은 제외됩니다.
-
StorageNetworkReceiveThroughput – DB 클러스터의 각 인스턴스가 Aurora 스토리지 하위 시스템에서 수신한 네트워크 처리량(throughput)입니다.
-
StorageNetworkTransmitThroughput – DB 클러스터의 각 인스턴스가 Aurora 스토리지 하위 시스템으로 전송한 네트워크 처리량(throughput)입니다.
이러한 지표를 모두 더해 네트워크 사용량을 DB 인스턴스 클래스 한도와 비교하는 방법을 평가합니다. 인스턴스 클래스 한도는 이러한 결합 지표를 합한 값보다 커야 합니다.
스토리지에 대한 네트워크 한도 및 CPU 사용량은 직접 관련이 있습니다. 네트워크 처리량이 증가하면 CPU 사용량도 증가합니다. CPU 및 네트워크 사용량을 모니터링하면 리소스가 소진되는 방식 및 이유에 대한 정보를 얻을 수 있습니다.
네트워크 사용량을 최소화하려면 다음을 고려하면 됩니다.
-
규모가 더 큰 DB 인스턴스 클래스를 사용합니다.
-
쓰기 요청을 일괄적으로 나누어 전체 트랜잭션을 줄입니다.
-
읽기 전용 워크로드를 읽기 전용 인스턴스로 지정합니다.
-
사용하지 않는 인덱스를 삭제합니다.