2016-03-08 14 views
6

auf der Suche nach etwas Hilfe in ElasticCache Wir verwenden ElasticCache Redis zu einem Resque-basierten Qing-System ausführen. Dies bedeutet, es ist eine Mischung aus sortierten Sätzen und Listen. bei normalem Betrieb ist alles in Ordnung und wir sehen gute Antwortzeiten & Durchsatz. CPU-Level liegt bei 7-10%, Get + Set-Befehle liegen bei 120-140K. (Alle Metriken basieren auf Cloudwatch.) Aber - wenn das System einen (milden) Datenburst erlebt und mehrere K-Nachrichten in die Warteschlange stellt, sehen wir, dass der Server fast nicht mehr reagiert. die CPU ist steady @ 100% Auslastung (Metrik sagt 50, aber es ist mit einem einzigen Kern) Anzahl der Betrieb fällt auf ~ 10K Reaktionszeiten sind langsam zu einer Frage von Sekunden pro Anfrage Wir würden erwarten, dass auch wenn die Die CPU wurde in einem solchen Ausmaß geladen, dass der Durchsatzpegel gleich geblieben wäre. Dies ist der Fall, wenn Redis lokal ausgeführt wird. redis kann die CPU nutzen, aber der Durchsatz bleibt hoch. Da es nativ Single-Cored ist, erscheint keine Kontextumschaltung. AFAWK - wir auferlegen keine Grenzen oder Persistenz, keine Replikation. Verwenden der grundlegenden Konfiguration.hohe CPU in Redis 2.8 (elasticache) cache.r3.large

die Größe: cache.r3.large wir sind noch periodischen snapshoting mit

+0

Wie ist Ihr Gedächtnis? Wenn redis ausgetauscht werden muss, kann es vorkommen, dass sich die redis auf zwei Sekunden pro Anfrage verlangsamt. Wir melden einen Alarm, wenn der freie Systemspeicher unter 8% ist. Dies hängt nicht mit den Redis-Limits zusammen, die Sie möglicherweise eingerichtet haben. –

+1

Das neue LUA-Pop-Skript fehlt ein LIMIT: https://github.com/gresrun/jesque/issues/101 – user3041539

Antwort

3

Dies scheint ein Merkmal eines Lua Script rouge. ein Defekt in einem solchen Skript könnte eine große CPU-Last verursachen, während der Gesamtdurchsatz beeinträchtigt wird.

verwenden Sie so? versuchen Sie, in der Redis langsame Protokoll für eine

+0

Bessere Formatierung und aussagekräftigere Antwort würde anderen helfen, die dasselbe Problem haben, Ihre Lösung besser zu verstehen –