

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# Amazon Neptune의 쿼리 대기열
<a name="access-graph-queuing"></a>

그래프 애플리케이션을 개발 및 튜닝할 때 데이터베이스에서 쿼리가 대기하는 방식을 파악하는 것이 도움이 될 수 있습니다. Amazon Neptune에서 쿼리 대기는 다음과 같이 발생합니다.
+ 인스턴스 크기에 관계없이 인스턴스당 대기될 수 있는 최대 쿼리 수는 8,192개입니다. 해당 개수를 넘는 쿼리는 거부되고 `ThrottlingException`으로 인해 실패합니다 .
+ 한 번에 실행할 수 있는 최대 쿼리 수는 할당된 작업자 스레드 수에 따라 결정됩니다. 이 수는 일반적으로 사용 가능한 가상 CPU 코어(vCPU) 수의 두 배로 설정됩니다.
+ 쿼리 지연 시간에는 쿼리가 대기열에서 사용하는 시간과 네트워크 왕복 시간 및 쿼리가 실제로 실행되는 데 걸리는 시간이 포함됩니다.

## 지정된 순간에 대기열에 있는 쿼리 수 결정
<a name="access-graph-queuing-count"></a>

`MainRequestQueuePendingRequests` CloudWatch 지표는 입력 대기열에서 5분 단위로 대기 중인 요청 수를 기록합니다([Neptune CloudWatch 지표](cw-metrics.md) 참조).

Gremlin의 경우 [Gremlin 쿼리 상태 API](gremlin-api-status.md)에서 반환한 `acceptedQueryCount` 값을 사용하여 대기열의 현재 쿼리 수를 얻을 수 있습니다. 그러나 [SPARQL 쿼리 상태 API](sparql-api-status.md)에서 반환하는 `acceptedQueryCount` 값에는 완료된 쿼리를 포함하여 서버가 시작된 이후 수락된 모든 쿼리가 포함됩니다.

## 쿼리 대기열이 제한 시간에 영향을 주는 방식
<a name="access-graph-queuing-timeouts"></a>

위에서 언급했듯이 쿼리 지연 시간에는 쿼리가 대기열에서 사용하는 시간과 쿼리가 실행되는 데 걸리는 시간이 포함됩니다.

쿼리의 제한 시간은 일반적으로 대기열에 들어갈 때부터 측정되므로 느리게 이동하는 대기열은 쿼리가 대기열에서 제거되는 즉시 많은 쿼리가 시간 초과될 수 있습니다. 이러한 상황은 분명히 바람직하지 않으므로 신속하게 실행할 수 없다면 많은 수의 쿼리를 대기시키지 않는 것이 좋습니다.