Wie kann ich den HTTP-504-Gateway-Timeout-Fehler in Amazon OpenSearch Service verhindern?

Letzte Aktualisierung: 2021-07-30

Ich versuche, einen 504-Gateway-Timeout-Fehler in Amazon OpenSearch Service zu beheben. Wie gehe ich dabei vor?

Kurzbeschreibung

Vor jeder OpenSearch-Service-Domäne befindet sich ein Load Balancer. Der Load Balancer verteilt den eingehenden Datenverkehr an die Datenknoten. Wenn OpenSearch-Service-Abfragen nicht innerhalb des Leerlaufzeitlimits abgeschlossen sind und keine entsprechende Bestätigung übermittelt wird, schließt der Load Balancer die TCP-Verbindung. Aus diesem Grund erhalten Sie den Fehler HTTP 504 Gateway Timeout. Der Fehler HTTP 504 Gateway Timeout weist nicht zwingend auf ein Problem mit Ihrem Cluster hin – er besagt lediglich,dass die Abfrage nicht innerhalb des Leerlaufzeitlimits abgeschlossen wurde.

Gateway-Zeitüberschreitungsfehler treten normalerweise auf, wenn Sie zu viele Abfragen gleichzeitig übermitteln oder wenn die Abfragen besonders komplex sind. In beiden Fällen ist das Ergebnis dasselbe: OpenSearch Service kann die Abfrage nicht innerhalb des Leerlaufzeitlimits abschließen.

Behebung

Verwenden Sie eine oder mehrere der folgenden Methoden, um den Fehler HTTP 504 Gateway Timeout zu beheben:

  • Aktivieren Sie langsame Protokolle für Ihren OpenSearch-Service-Index und geben Sie dann Protokollierungsschwellenwerte an. Anhand langsamer Protokolle können Sie feststellen, wenn der Abschluss einer bestimmten Abfrage lange dauert. Wenn dies der Fall ist, sollten Sie die Abfrage optimieren, um den Fehler 504 zu beheben. Weitere Informationen finden Sie unter Anzeigen langsamer Protokolle in Amazon OpenSearch Service.
  • Reduzieren Sie die Datenmenge, die OpenSearch Service abfragen muss. Auf diese Weise können Abfragen schneller abgeschlossen werden.
  • Wechseln Sie zu einem größeren Instance-Typ. Weitere Informationen finden Sie unter Auswählen und Testen von Instance-Typen.
  • Konfigurieren Sie exponentielle Backoff- und Wiederholungsmechanismen in Ihrer Anwendung, damit Abfragen mit Zeitüberschreitung erneut übermittelt werden.
  • Verwenden Sie Massenabfragen anstelle von Einzelabfragen. Dadurch wird der Mehraufwand pro Anfrage für den Cluster reduziert.

Amazon OpenSearch Service ist der Nachfolger von Amazon Elasticsearch Service.