Limites de débit des API

Les limites de débit des API définissent le nombre de requêtes pouvant être envoyées à l'API Google Compute Engine. Elles sont définies pour chaque projet. Lorsque vous utilisez gcloud compute ou la console Google Cloud Platform, vous envoyez également des requêtes à l'API. Celles-ci sont comptabilisées dans votre limite de débit. Si vous utilisez des comptes de service pour accéder à l'API, ils sont également pris en compte pour la limite de débit.

Voici les catégories de limites de débit des API qui sont définies actuellement pour les projets. Chaque catégorie de limite est comptabilisée indépendamment des autres, ce qui vous permet d'atteindre la limite maximale dans toutes les catégories simultanément. Les limites de débit sont appliquées toutes les 100 secondes. Par exemple, un taux de 20 requêtes par seconde donne un volume de 2 000 requêtes effectuées en l'espace de 100 secondes. Cela signifie que si vous atteignez une limite spécifique à n'importe quel moment dans les 100 secondes, vous devez patienter jusqu'à l'actualisation du bucket de quota pour pouvoir effectuer d'autres requêtes.

  • Requêtes – Limites pour toutes les méthodes, à l'exception des méthodes *.get et *.list :
    • Débit par projet : 20 requêtes/seconde
    • Débit par utilisateur : 20 requêtes/seconde
  • Requêtes de lecture – Limites pour les méthodes *.get :
    • Débit par projet : 20 requêtes/seconde
    • Débit par utilisateur : 20 requêtes/seconde
  • Requêtes de lecture – Limites pour les méthodes *.list :
    • Débit par projet : 20 requêtes/seconde
    • Débit par utilisateur : 20 requêtes/seconde
  • Requêtes d'opérations de lecture – Limites pour les méthodes *OperationsService.Get :
    • Débit par projet : 20 requêtes/seconde
    • Débit par utilisateur : 20 requêtes/seconde
  • Requêtes de lecture intensive – Limites pour les méthodes *.AggregatedList :
    • Débit par projet : 10 requêtes/seconde
    • Débit par utilisateur : 10 requêtes/seconde
  • Requêtes de mutation intensive – Limites pour les méthodes patch, delete et insert pour les fonctionnalités InterconnectsService et InterconnectAttachmentsService :
    • Débit par projet : 10 requêtes/seconde
    • Débit par utilisateur : 10 requêtes/seconde
  • Requêtes d'instance SimulateMaintenanceEvent – Limites pour les méthodes *.SimulateMaintenanceEvent :
    • Débit par projet : 2 requêtes/seconde
    • Débit par utilisateur : 2 requêtes/seconde
  • Requêtes d'insertion de licence – Limites pour les méthodes *.LicensesService.Insert :
    • Débit par projet : 2 requêtes/seconde
    • Débit par utilisateur : 2 requêtes/seconde

Si vous avez besoin d'augmenter la limite de débit des API, vous pouvez envoyer une demande via la console Google Cloud Platform.

Bonnes pratiques

Voici quelques bonnes pratiques qui vous aideront à mieux gérer les limites de débit des API sur Google Compute Engine.

  • Ne recourrez à l'utilisation intensive qu'avec parcimonie et de manière sélective. L'utilisation intensive permet à un client spécifique d'effectuer de nombreuses requêtes API en très peu de temps. En général, l'utilisation intensive est employée en réponse à des scénarios exceptionnels, par exemple lorsque votre application doit gérer plus de trafic qu'à l'accoutumée. Ce mode d'exécution implique que la limite de débit des API sera plus rapidement atteinte. Nous vous recommandons donc de ne l'utiliser que lorsque cela est absolument nécessaire.

  • Utilisez un limiteur de débit côté client. Un limiteur de débit côté client définit une limite artificielle empêchant le client concerné de dépasser un certain quota. Cela permet d'éviter qu'un client consomme l'intégralité de votre quota.

  • Utilisez un intervalle exponentiel entre les tentatives afin d'espacer progressivement les requêtes lorsque vous atteignez votre quota. Cela donne le temps au serveur de réinitialiser vos buckets de quota.

  • Évitez de recourir à l'attente active de courte durée, car en ce cas vos clients adressent continuellement des requêtes au serveur sans attendre de réponse. Si vous utilisez l'attente active de courte durée, il sera plus difficile d'intercepter les requêtes incorrectes, lesquelles sont prises en compte dans votre quota même si elles ne renvoient pas de données utiles.

  • Répartissez vos applications sur plusieurs projets. Étant donné que les quotas sont appliqués au niveau de chaque projet, vous pouvez répartir vos applications sur différents projets pour que chacune d'entre elles dispose d'un quota dédié.

  • Si une erreur 403 accompagnée du message d'erreur rateLimitExceeded vous est renvoyée, patientez quelques secondes et renouvelez votre requête. Les buckets de quota sont réinitialisés toutes les 100 secondes. Votre requête devrait donc aboutir une fois cet intervalle écoulé.

Cette page vous a-t-elle été utile ? Évaluez-la :

Envoyer des commentaires concernant…

Documentation Compute Engine