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:
| 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:
SuccessfulWriteRequestLatencyundSearchBasedSetCmdsLatency— spiegelt die erhöhte Latenz bei betroffenen Schreibvorgängen wider.SearchWriteThrottleActiveSearchWriteThrottledClientsCount, undSearchWriteThrottleEvents— 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:
| 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.