View a markdown version of this page

Überlegungen - 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.

Überlegungen

Mögliche Auswirkungen auf die CPU-Auslastung bei der Skalierung

Beachten Sie bei der Hoch- oder Herunterskalierung zwischen Knotentypen die potenziellen Auswirkungen erweiterter I/O Funktionen auf die CPU-Auslastung. Bei unterstützten Knotentypen werden Netzwerk I/O - und TLS-Operationen standardmäßig auf dedizierte Threads verlagert, die die zusätzlichen CPU-Kerne nutzen, die auf dem Knoten verfügbar sind. ElastiCache Die Verfügbarkeit dieser Funktionen hängt von Ihrer Engine-Version und den Knotentypen ab:

  • Verbessert I/O (Redis 5.0.6+): I/O Das Netzwerk wird über dedizierte Threads verwaltet, wobei zusätzliche CPU-Kerne auf unterstützten Knotentypen genutzt werden.

  • TLS-Offloading (Redis 6.2.5+): TLS-Operationen werden auf die Threads ausgelagert, wodurch die verfügbaren CPU-Kerne weiter genutzt werden. I/O

  • Verbessertes I/O Multiplexing (Redis OSS 7.0.4+ oder Valkey 7.2.6+): Mehrere Client-Verbindungen werden auf Threads gemultiplext, wodurch der Durchsatz erhöht und die CPU-Auslastung der verfügbaren Kerne optimiert wird. I/O

Diese Funktionen verteilen die Verarbeitung auf die zusätzlichen CPU-Kerne, die auf dem Knoten verfügbar sind, was sich auf die CPU-Metriken wie folgt auswirkt:

Auswirkung auf die Metrik zur CPU-Auslastung

CPUUtilizationspiegelt die aggregierte CPU-Auslastung aller Kerne auf dem Knoten wider, einschließlich der dedizierten I/O Threads. Da erweiterte I/O Funktionen CPU-Ressourcen auf diesen zusätzlichen Kernen verbrauchen, CPUUtilization ist dies kein zuverlässiger Indikator für die tatsächliche Kapazität und Auslastung Ihres Motors.

Metrik zur Auswirkung auf die EngineCPUUtilization

EngineCPUUtilizationmisst nur den Hauptthread der Redis- oder Valkey-Engine. Wenn erweiterte I/O Funktionen aktiv sind, werden Operationen wie Netzwerk I/O - und TLS-Verarbeitung vom Haupt-Thread auf dedizierte Threads ausgelagert. I/O Das bedeutet EngineCPUUtilization möglicherweise weniger, da der Haupt-Thread weniger Arbeit leistet. EngineCPUUtilizationspiegelt genau Ihre tatsächliche Workload-Kapazität wider und gibt an, ob sich Ihre Instance ihren Verarbeitungsgrenzen nähert.

Skalierungsszenarien

  • Skalierung von einem nicht unterstützten auf einen unterstützten Knotentyp: Wenn erweiterte I/O Funktionen auf dem neuen Knotentyp aktiv werden, CPUUtilization kann dies zunehmen, da dedizierte I/O Threads beginnen, zusätzliche CPU-Kerne zu nutzen. Gleichzeitig EngineCPUUtilization kann sie abnehmen, wenn Operationen vom Haupt-Engine-Thread ausgelagert werden.

  • Skalierung innerhalb unterstützter Knotentypen: Zusätzliche CPU-Kerne werden verfügbar, was sich verringern kann, CPUUtilization wenn die I/O Operationen auf mehr Ressourcen verteilt werden.

  • Herunterskalierung innerhalb unterstützter Knotentypen: Für I/O Operationen stehen weniger CPU-Kerne zur Verfügung. Diese Zahl kann zunehmen I/O, CPUUtilization da Netzwerk, TLS-Verarbeitung und Verbindungsverarbeitung um begrenzte Ressourcen konkurrieren.

Empfohlener Überwachungsansatz

Wir empfehlen EngineCPUUtilization eher die Verwendung als CPUUtilization für die Überwachung. EngineCPUUtilizationmisst die Leistung des Haupt-Engine-Threads und gibt genau wieder, ob sich Ihre Instance ihren Verarbeitungsgrenzen nähert. CPUUtilizationkann je nach Engine-Version und Knotentyp variieren, da sich die Nutzung verfügbarer Kerne durch erweiterte I/O Funktionen geändert hat, sodass es sich bei der Kapazitätsplanung um eine unzuverlässige Kennzahl handelt.