2017-10-26 1 views
0

Ich war Enqueue testen und entschleunigen Rate von Redis über das Netzwerk, das 1Gbps LAN-Geschwindigkeit hat, und beide Maschinen hat 1Gbps Ethernet-Karte. Redis Version: 3.2.11Redis dequeue Rate 10x langsamer über das Netzwerk

lpush 1L Elemente mit 1 Byte pro Element mit Python-Client. Die Auslagerung von Gegenständen mit Hilfe von rpop dauerte etwa 55 Sekunden über das Netzwerk, das nur 1800 Ausschnitte entfernt ist. Während die gleiche Operation innerhalb von 5 Sekunden abgeschlossen ist, entziehe ich mich von lokal, was ungefähr 20.000 Dequeues beträgt.

Enqueue-Raten sind fast der Dequeue-Rate.

Dies ist mit Office-Netzwerk getan, wenn nicht viel Verwendung gibt es. Das Gleiche gilt auch für Produktionsumgebungen!

Ein Rückgang von weniger als 3x über das Netzwerk wird akzeptiert. Etwa 10x sieht aus, als würde ich etwas falsch machen.

Bitte schlagen Sie vor, wenn ich Konfigurationsänderungen auf Server- oder Client-Seite vornehmen muss.

Vielen Dank im Voraus.

Antwort

0

Redis ist generell I/O-gebunden, nicht CPU-gebunden. Es kann Netzwerkgrenzbandbreiten treffen. Angesichts der geringen Größe Ihrer Nachrichten kann der größte Teil der Bandbreite vom TCP-Overhead eingenommen werden.

Auf einem lokalen Computer sind Sie an die Speicherbandbreite gebunden, die viel schneller ist als Ihre 1-Gbit/s-Netzwerkbandbreite. Sie können den Netzwerkdurchsatz wahrscheinlich erhöhen, indem Sie die Menge an Daten erhöhen, die Sie gleichzeitig greifen.

+0

Dies ist gleich, auch wenn ich 500 Bytes pro Nachricht aus der Warteschlange. Aber warum 10x. Ich habe nie mehr als 3x Reduktion im Netzwerk gesehen. – Carbonrock

+0

Die meisten Dienste sind nicht so I/O-gebunden wie redis. Sie treffen CPU-Limits, wenn sie lokal abgefragt werden, und erreichen niemals die 10-fache Leistung, obwohl sie lokal mehr als das 10-fache der Bandbreite haben. Der Unterschied zwischen Ihrer Netzwerkbandbreite und Ihrer CPU-Bandbreite ist im Allgemeinen größer als 10x, obwohl dies von der RAM-Geschwindigkeit und anderen Faktoren abhängt. –