Warum findet das Austauschen in ElastiCache statt?

Lesedauer: 2 Minute
0

Ich sehe einen Anstieg der Tausch-Aktivität in meinen Amazon-ElastiCache-Instances? Wie kann ich dies beheben?

Kurzbeschreibung

ElastiCache läuft auf dem Linux-Betriebssystem (OS). Das Tausch-Verhalten wird vom Betriebssystem gesteuert und durch Faktoren wie die Betriebssystemversion oder Aktivitätsmuster beeinflusst. Es wird erwartet, dass es bei Instances zu Schwankungen bei der Tausch-Nutzung kommt

Austauschprobleme treten auf, wenn nicht genügend RAM (Random Access Memory) verfügbar ist, wenn das System Seiten zwischen der Festplatte und dem RAM verschiebt.

Das Linux-Betriebssystem verschiebt proaktiv Speicherseiten zum Austauschen aus zwei Hauptgründen:

  • Ein ElastiCache-Knoten steht unter Speicherdruck
  • Linux tauscht Speicher, auf den selten zugegriffen wird, auf Festplatte

Auflösung

Ein ElastiCache-Knoten steht unter Speicherdruck

Wenn Ihr Cache-Knoten mehr Speicher belegt, als der Instance zur Verfügung steht, tauscht Linux Daten aus dem Speicher auf die Festplatte aus, um Speicherplatz für die Verwendung freizugeben. Eine FreeableMemory CloudWatch-Metrik gleich Null oder eine swapUsage-Metrik, die größer als die FreeableMemory-Metrik ist, zeigt einen Knoten an, der unter Speicherdruck steht.

Da sich sowohl Redis als auch Memcached in Speichercaches befinden, verlangsamt das Auslagern Ihre Anwendung.

Wenn Sie feststellen, dass ein Knoten aufgrund von Speicherdruck ausgetauscht wird, skalieren Sie hoch auf einen größeren Cache-Knotentyp. Legen Sie andernfalls einen Reserved-Memory-Parameter für Redis oder einen Verbindungs-Overhead-Parameter für Memcached fest.

Linux tauscht Speicher, auf den selten zugegriffen wird, auf Festplatte

Swap kann verwendet werden, wenn ein ElastiCache-Knoten nicht unter Speicherdruck steht, da das Linux-Betriebssystem proaktiv Speicherseiten verschiebt, die nicht häufig zum Austauschen verwendet werden, um die Speichereffizienz zu erhöhen. Diese Verwendung ist normales Kernelverhalten und impliziert kein aktives Lesen und Schreiben zum Austauschen.

Es ist eine bewährte Methode, die swapUsage-Metrik zu überprüfen, um sicherzustellen, dass die Menge des verwendeten Austauschs 300 MB nicht überschreitet.


Relevante Informationen

Welche Metriken sollte ich überwachen? (Redis)

Welche Metriken sollte ich überwachen? (Memcached)

AWS OFFICIAL
AWS OFFICIALAktualisiert vor 2 Jahren