View a markdown version of this page

Drosselung von Schreibvorgängen in der Suche - Amazon ElastiCache

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Drosselung von Schreibvorgängen in der Suche

Um eine optimale Leistung und Datenbeständigkeit zu gewährleisten, implementiert ElastiCache der Durable-Modus bei Bedarf eine Schreibdrosselung des Suchverkehrs. Durch die Drosselung wird sichergestellt, dass automatische Backup-Mechanismen effektiv funktionieren, ohne in Zeiten hoher Schreibaktivitäten ins Hintertreffen zu geraten. Durch die vorübergehende Reduzierung des Schreibdurchsatzes bewahrt das System die Integrität des Multi-AZ Transaktionsprotokolls, was für eine schnelle Wiederherstellung und einen schnellen Neustart der Datenbank unerlässlich ist.

Umfang der Drosselung

Nur Schreibbefehle, die auf Schlüssel abzielen, die zu einem Suchindex gehören, werden gedrosselt. Schreibvorgänge auf nicht indizierte Schlüssel und alle Lesebefehle sind davon nicht betroffen.

Die folgenden Befehle unterliegen einer Drosselung, wenn sie auf indizierte Schlüssel abzielen:

Befehle, für die eine Drosselung beim Suchen und Schreiben gilt
Kategorie Befehle
Hash HSET, HSETNX, HMSET, HINCRBY, HINCRBYFLOAT, HDEL
JSON JSON.SET, JSON.DEL, JSON.NUMINCRBY, JSON.NUMMULTBY, JSON.STRAPPEND, JSON.ARRAPPEND, JSON.ARRINSERT, JSON.ARRPOP, JSON.ARRTRIM, JSON.TOGGLE, JSON.CLEAR, JSON.MERGE
Generisch DEL, UNLINK, RENAME, RENAMENX, COPY, RESTORE

Was Kunden erleben

Befehle, die gedrosselt werden, werden verzögert und nicht zurückgewiesen. Betroffene Schreibvorgänge dauern länger, sind aber trotzdem erfolgreich. Es werden keine Fehler an den Client zurückgegeben.

Sie können die Auswirkungen anhand der folgenden CloudWatch Amazon-Metriken beobachten:

  • SuccessfulWriteRequestLatencyund SearchBasedSetCmdsLatency — spiegelt die erhöhte Latenz bei betroffenen Schreibvorgängen wider.

  • SearchWriteThrottleActiveSearchWriteThrottledClientsCount, und SearchWriteThrottleEvents — Geben Sie an, ob und in welchem Umfang die Drosselung aktiv ist. Details dazu finden Sie unter Überwachen.

Wenn die Drosselung aktiviert wird

Das System überwacht die CPU-Auslastung der Writer-Threads des Suchmoduls über einen fortlaufenden Zeitraum von 2 Stunden. Die Drosselung wird aktiviert, wenn die durchschnittliche CPU-Auslastung in diesem Fenster 50% übersteigt, und die zulässige Schreibrate wird so angepasst, dass die durchschnittliche Auslastung wieder bei 50% liegt.

Da die Metrik über einen Zeitraum von 2 Stunden gemittelt wird, lösen kurze Phasen erhöhter CPU-Auslastung von selbst keine Drosselung aus — solange sie durch eine geringere Auslastung innerhalb desselben Zeitfensters ausgeglichen werden.

Um eine zu starke Drosselung zu verhindern, wertet das System auch die aktuelle CPU-Auslastung in Echtzeit aus. Wenn die aktuelle CPU-Auslastung bereits bei 50% oder darunter liegt, hält das System die Schreibrate konstant, anstatt sie weiter zu reduzieren, selbst wenn der 2-Stunden-Durchschnitt weiterhin über dem Schwellenwert liegt. Dadurch wird sichergestellt, dass die Schreibkapazität niemals unter 50% des normalen Durchsatzes fällt.

Wenn die Drosselung deaktiviert ist

Sobald die durchschnittliche CPU-Auslastung innerhalb von 2 Stunden unter 50% fällt, erhöht das System die zulässige Schreibrate schrittweise, bis der volle Durchsatz wiederhergestellt ist und die Drosselung deaktiviert wird.

Überwachen

Die folgenden CloudWatch Amazon-Metriken sind für die Überwachung der Schreibdrosselung von Suchanfragen verfügbar:

Metriken zur Einschränkung von Schreibvorgängen in der Suche CloudWatch
Metrik Description Einheit
SearchWriteThrottleActive Zeigt an, ob die Drosselung derzeit aktiv ist. 1= aktiv, 0 = inaktiv. Boolesch
SearchWriteThrottledClientsCount Die Anzahl der Client-Verbindungen, die derzeit gedrosselt werden. Anzahl
SearchWriteThrottleEvents Die Anzahl der Drosselungsereignisse innerhalb des Berichtsintervalls. Anzahl
SearchWriteCPUUtilization Aktuelle CPU-Auslastung der Search Writer-Threads. Prozent

Best Practices

  • Überwachen SearchWriteCPUUtilization — Verfolgen Sie Ihre CPU-Auslastung beim Schreiben von Suchvorgängen, um Ihre Arbeitslastmuster zu verstehen und vorauszusagen, wann Sie sich dem Schwellenwert für die Drosselung nähern könnten.

  • Überwachen SearchWriteThrottleActive — Verfolgen Sie, ob die Drosselung aktiv ist, damit Sie dies untersuchen und umgehend reagieren können.

  • Planen Sie eine kontinuierliche Datenaufnahme innerhalb des 2-Stunden-Fensters ein — Das System verwendet einen gleitenden 2-Stunden-Durchschnitt, sodass kurze Ausbrüche mit hoher Schreibaktivität vollständig unterstützt werden, sofern sie durch eine geringere Auslastung innerhalb desselben Zeitfensters ausgeglichen werden.

  • Skalieren Sie Ihren Cluster, wenn Sie eine anhaltende oder häufige Drosselung beobachten — Wenn Ihre Arbeitslast den Schwellenwert ständig überschreitet und sich die Drosselung auf die Latenzanforderungen Ihrer Anwendung auswirkt, sollten Sie eine Skalierung zur Erhöhung der Kapazität in Betracht ziehen.