Mise en file d'attente des requêtes dans Amazon Neptune - Amazon Neptune

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Mise en file d'attente des requêtes dans Amazon Neptune

Lors du développement et du réglage d'applications graphiques, il peut être utile de connaître les implications de la façon dont les requêtes sont mises en file d'attente par la base de données. Dans Amazon Neptune, la mise en file d'attente des requêtes présente les caractéristiques suivantes :

  • Le nombre maximal de requêtes pouvant être mises en file d'attente par instance, quelle que soit la taille de l'instance, est de 8 192. Toutes les requêtes au-delà de ce nombre sont rejetées et échouent avec une exception ThrottlingException.

  • Le nombre maximum de requêtes pouvant être exécutées simultanément est déterminé par le nombre de threads de travail affectés, qui est généralement défini sur le double du nombre de CPU cœurs virtuels (vCPUs) disponibles.

  • La latence de requête inclut le temps passé par une requête dans la file d'attente, ainsi que le retour sur le réseau et le temps d'exécution réel.

Comment déterminer le nombre de requêtes présentes dans votre file d'attente à un moment donné

La MainRequestQueuePendingRequests CloudWatch métrique enregistre le nombre de demandes en attente dans la file d'entrée avec une granularité de cinq minutes (voirMétriques de Neptune CloudWatch ).

Pour Gremlin, vous pouvez obtenir le nombre actuel de requêtes dans la file d'attente en utilisant la valeur acceptedQueryCount renvoyée par l'État de la requête Gremlin API. Notez toutefois que la valeur acceptedQueryCount renvoyée par l'SPARQLétat de la requête API inclut toutes les requêtes acceptées depuis le démarrage du serveur, y compris les requêtes terminées.

Comment la mise en file d'attente des requêtes peut affecter les délais d'expiration

Comme indiqué précédemment, la latence de requête inclut le temps passé par une requête dans la file d'attente, ainsi que le temps d'exécution.

Étant donné que le délai d'expiration d'une requête est généralement mesuré à partir du moment où elle entre dans la file d'attente, une file d'attente lente peut faire expirer de nombreuses requêtes dès qu'elles sont retirées de la file d'attente. Ceci n'est évidemment pas souhaitable. Il est donc bon d'éviter de mettre en file d'attente un grand nombre de requêtes, à moins qu'elles ne puissent être exécutées rapidement.