2017-03-17 4 views
0

Wir Redis als Queue verwenden, die über ~ 3k rps im Durchschnitt hat. Aber wenn wir die instantane_ops_per_sec überprüfen, meldet dieser Wert konsistent höher als erwartet, um etwa 20%, in diesem Fall berichtet ~ 4 k Ops pro Sekunde.Redis instantaneous_ops_per_sec höher als der tatsächliche Durchsatz

Um dies zu überprüfen, habe ich MONITOR etwa 10 Sekunden lang gelöscht und die Anzahl der eingehenden Befehle geprüft.

grep "1489722862." monitor_output | wc -l 

Hier ist 1489722862 der Zeitstempel. Auch diese Anzahl stimmt mit dem überein, was in der Warteschlange erzeugt wird und was aus der Warteschlange verbraucht wird. Dies ist ein Master-Slave-Redis-Cluster-Setup. Ist momentane_ops_per_sec auch Konto für den Slave liest? Wenn nicht, aus welchem ​​anderen Grund ist diese Zahl wesentlich höher?

Antwort

0

Die Metrik instantaneous_ops_per_sec wird als Mittelwert der letzten Stichproben berechnet, die der Server genommen hat. Die Anzahl der letzten Proben ist durch STATS_METRIC_SAMPLES in server.h als 16 fest codiert.

+0

Entschuldigung, ich bin immer noch nicht ganz klar darüber. Wenn ich immer die letzten 16 Samples nehme, wie kann die Anzahl immer höher sein als die "wc -l" des MONITOR-Befehls? – sreeraag

Verwandte Themen