기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
CloudWatch 를 사용하여 Neptune에서 DB 인스턴스 성능 모니터링
Neptune의 CloudWatch 지표를 사용하여 DB 인스턴스에서 발생하는 상황을 모니터링하고 데이터베이스에서 관찰된 쿼리 대기열 길이를 추적할 수 있습니다. 다음과 같은 지표가 특히 유용합니다.
CPUUtilization
- CPU 사용률을 표시합니다.VolumeWriteIOPs
– 5분 간격으로 보고되는 클러스터 볼륨에 대한 디스크 I/O 쓰기의 평균 수입니다.MainRequestQueuePendingRequests
– 실행 대기 중인 입력 대기열에서 대기 중인 요청 수를 표시합니다.
또한 Gremlin 쿼리 상태 엔드포인트를 includeWaiting
파라미터와 함께 사용하여 서버에 보류 중인 요청 수를 확인할 수 있습니다. 그러면 대기 중인 모든 쿼리의 상태가 표시됩니다.
다음 지표는 Neptune 프로비저닝 및 쿼리 전략을 조정하여 효율성과 성능을 개선하는 데 도움이 될 수 있습니다.
일정한 지연 시간, 높은
CPUUtilization
, 높은VolumeWriteIOPs
, 낮은MainRequestQueuePendingRequests
를 보면 서버가 I/O 대기 시간이 거의 없이 지속 가능한 속도로 동시 쓰기 요청을 적극 처리하고 있음을 알 수 있습니다.일정한 지연 시간, 낮은
CPUUtilization
, 낮은VolumeWriteIOPs
, 존재하지 않는MainRequestQueuePendingRequests
를 보면 기본 DB 인스턴스에서 쓰기 요청을 처리할 수 있는 용량이 초과되었음을 알 수 있습니다.CPUUtilization
과VolumeWriteIOPs
가 높되 지연 시간과MainRequestQueuePendingRequests
가 가변적이면 주어진 간격 동안 서버가 처리할 수 있는 양보다 더 많은 작업을 보내고 있다는 것을 알 수 있습니다. 트랜잭션 오버헤드를 줄이면서 동일한 양의 작업을 수행할 수 있도록 배치 요청을 만들거나 크기를 조정하거나, 기본 인스턴스를 확장하여 쓰기 요청을 동시에 처리할 수 있는 쿼리 스레드 수를 늘리는 것이 좋습니다.낮은
CPUUtilization
과 높은VolumeWriteIOPs
는 쿼리 스레드가 스토리지 계층에 대한 I/O 작업이 완료될 때까지 대기하고 있음을 의미합니다. 지연 시간이 가변적이고MainRequestQueuePendingRequests
가 약간 증가하는 경우 트랜잭션 오버헤드를 줄이면서 동일한 양의 작업을 수행할 수 있도록 배치 요청을 생성하거나 크기를 조정하는 것이 좋습니다.