Ungleichmäßige Lastverteilung auf einem Elasticache-Cluster


1

Amazon Elasticache Cluster scheint eine wirklich gute Wahl für die automatische Skalierung zu sein, aber es scheint, dass die Lastverteilung unter den Knoten nicht gleich ist.

Sowohl im Arbeitsspeicher als auch in der CPU scheint der Knoten 1 fast doppelt so viel Ressourcen zu beanspruchen wie andere Knoten. Dies führt häufig zu einer Verlängerung der Reaktionszeit zu Spitzenzeiten, selbst wenn die meisten anderen Knoten ideal sitzen.

Ich verwende r3.2x Instanzen (8cpu, 60GB mem)

Hat jemand das gleiche Problem? Was kann die Ursache für dieses Verhalten sein (bei Elasticache oder in meinem Memcache-Modul)? Meinerseits verwende ich verteilungskonsistentes Hashing (Ketama algo). Eine bessere Alternative?


Was ist deine Frage?
Andrew Schulman

@ AndrewSchulman leider aktualisiert es.
Ashish Gaurav

Antworten:


0

Wenn Sie ein einzelnes Cache-Element (oder sehr wenige Elemente) haben, das viel häufiger als jedes andere Element verwendet wird, wird dieses Verhalten bei ungleichmäßiger Lastverteilung angezeigt.

Sie sollten Ihre Anwendung auf diese Art von Cache-Elementen überprüfen. Möglicherweise können Sie alle Memcache-Anforderungen protokollieren, um diese Elemente zu finden. Nachdem Sie ein solches Objekt identifiziert haben, müssen Sie darüber nachdenken, wie Sie Anrufe auf dieses Objekt aufteilen und auf viele Objekte verteilen können.

Ich glaube, es gibt keine einheitliche Lösung für diese Art von Problem, da dies von der Anwendungslogik, der Anzahl der Lese- und Schreibvorgänge usw. abhängt.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.