기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
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
가 약간 증가하는 경우 트랜잭션 오버헤드를 줄이면서 동일한 양의 작업을 수행할 수 있도록 배치 요청을 생성하거나 크기를 조정하는 것이 좋습니다.