Um Latenz Probleme bei Redis zu analysieren, kann man das eingebaute Latency Tool von redis-cli benutzen, mit dem um 100 Requests pro Sekunde auf den Redis gepingt werden und man die Antwortszeit analysieren kann.
Konsolen Bsp:
Im Intervall von i=10 Sekunden auf localhost getestet
redis-cli --latency-history -i 10 -h 127.0.0.1 -p 6379
Output:
min: 0, max: 10, avg: 0.89 (906 samples) -- 10.01 seconds range min: 0, max: 32, avg: 1.44 (862 samples) -- 10.00 seconds range min: 0, max: 6, avg: 0.50 (939 samples) -- 10.00 seconds range min: 0, max: 7, avg: 0.47 (941 samples) -- 10.01 seconds range min: 0, max: 12, avg: 0.47 (942 samples) -- 10.00 seconds range min: 0, max: 137, avg: 2.70 (779 samples) -- 10.01 seconds range min: 0, max: 119, avg: 5.92 (626 samples) -- 10.06 seconds range min: 0, max: 2389, avg: 7.31 (572 samples) -- 10.00 seconds range min: 0, max: 14, avg: 0.64 (926 samples) -- 10.00 seconds range min: 0, max: 9, avg: 0.50 (938 samples) -- 10.01 seconds range min: 0, max: 16, avg: 0.47 (941 samples) -- 10.01 seconds range min: 0, max: 21, avg: 0.56 (933 samples) -- 10.01 seconds range min: 0, max: 23, avg: 0.56 (933 samples) -- 10.01 seconds range min: 0, max: 150, avg: 1.95 (827 samples) -- 10.01 seconds range min: 0, max: 131, avg: 4.22 (696 samples) -- 10.01 seconds range min: 0, max: 131, avg: 7.06 (581 samples) -- 10.01 seconds range min: 0, max: 4136, avg: 10.33 (488 samples) -- 10.01 seconds range min: 0, max: 17, avg: 1.15 (886 samples) -- 10.02 seconds range min: 0, max: 18, avg: 0.88 (906 samples) -- 10.01 seconds range min: 0, max: 11, avg: 0.61 (928 samples) -- 10.00 seconds range min: 0, max: 12, avg: 0.55 (936 samples) -- 10.01 seconds range min: 0, max: 9, avg: 0.51 (937 samples) -- 10.01 seconds range
Hier kann man gut sehen, dass die Probleme mit einem Abstand von 60 Sekunden auftreten. Dies lag in dem Fall daran, dass Redis alle 60s sich selber auf die Festplatte persistiert hat. Die entsprechende Option in den redis.conf lautete:
save 60 1000
und mit der Option
save ""
kann das persistieren auf der Festplatte ausgeschaltet werden.
Aber auch die Option
appendonly yes
musste auf „no“ gesetzt werden, weil es dadurch auch auf zu viele Schreibzugriffe kam.