Google Compute VM 上で、定期的に外部サービスをポーリングする NodeJS スクリプトを実行しようとしていますが、数回のリクエスト後にスクリプトが次のエラーを出し始めます。
Error: getaddrinfo EAI_AGAIN site.to.poll site.to.poll:443
時々、いくつかのリクエストに対して回復しますが、その後再びエラーが発生します。リクエストは通常約 15 秒間隔で発生しますが、数分ごとのイベントでは約 1 秒間に約 20 件のリクエストが実行されます。
クォータに関連するものかどうかはわかりません。クォータ制限を確認してみましたが、すべて使用している量をはるかに上回っているようで、VM はプレミアム ネットワーク層にあります。
答え1
GCP では API リクエスト レートに厳しい制限があり、それらはプロジェクトごとにカウントされます (使用されるサービス アカウントに関係なく)。
カウントから除外されるメソッドは と のみ*.get
です*.list
。
API レート制限は、Compute Engine API に対して実行できるリクエストの数を定義します。API レート制限はプロジェクトごとに適用されます。レート制限は 100 秒間隔で適用されます。たとえば、1 秒あたり 20 件のリクエストは、100 秒以内に 2,000 件のリクエストに相当します。つまり、100 秒以内に特定の制限に達した場合は、クォータ バケットが更新されるまで待ってから、さらにリクエストを実行する必要があります。
正確な数字についてはドキュメントをご覧くださいAPI レート制限。