Meus dois nós em um cluster Redis têm desempenho de persistência bastante diferente. O nó mestre é sempre muito mais rápido que o escravo ao salvar dados no disco. Aqui está a informação de persistência para o mestre:
[fred@redis_master temp]$ redis-cli -h 192.168.1.151 -p 8382
192.168.1.151:8382> info persistence
# Persistence
loading:0
rdb_changes_since_last_save:1206
rdb_bgsave_in_progress:0
rdb_last_save_time:1529636130
rdb_last_bgsave_status:ok
rdb_last_bgsave_time_sec:28
rdb_current_bgsave_time_sec:-1
aof_enabled:0
aof_rewrite_in_progress:0
aof_rewrite_scheduled:0
aof_last_rewrite_time_sec:-1
aof_current_rewrite_time_sec:-1
aof_last_bgrewrite_status:ok
aof_last_write_status:ok
192.168.1.151:8382>
E abaixo está a informação para o escravo:
[fred@redis_slave temp]$ redis-cli -h 192.168.2.151 -p 8381
192.168.2.151:8381> info persistence
# Persistence
loading:0
rdb_changes_since_last_save:4850
rdb_bgsave_in_progress:0
rdb_last_save_time:1529635749
rdb_last_bgsave_status:ok
rdb_last_bgsave_time_sec:50
rdb_current_bgsave_time_sec:-1
aof_enabled:0
aof_rewrite_in_progress:0
aof_rewrite_scheduled:0
aof_last_rewrite_time_sec:-1
aof_current_rewrite_time_sec:-1
aof_last_bgrewrite_status:ok
aof_last_write_status:ok
192.168.2.151:8381>
Pode-se ver que o mestre gastou 28s em "rdb_last_bgsave_time_sec" enquanto o escravo gastou 50s, o que tem realmente desacelerado o nó escravo. Eu suspeito que é mais provável que algo tenha a ver com o desempenho do disco rígido, então fiz os seguintes testes:
[fred@redis_master temp]$ time dd if=/dev/zero of=test.dbf bs=8k count=5000 oflag=direct
5000+0 records in
5000+0 records out
40960000 bytes (41 MB) copied, 0.329285 s, 124 MB/s
real 0m0.331s
user 0m0.006s
sys 0m0.119s
[fred@redis_slave temp]$ time dd if=/dev/zero of=test.dbf bs=8k count=5000 oflag=direct
5000+0 records in
5000+0 records out
40960000 bytes (41 MB) copied, 88.126 s, 465 kB/s
real 1m28.127s
user 0m0.008s
sys 0m0.210s
Aparentemente, o escravo gastou muito mais tempo que o mestre para produzir apenas um arquivo de 41MB. Posso simplesmente concluir que a persistência lenta no nó escravo é completamente devida ao disco rígido ruim? Existe alguma outra maneira mais eficaz de depurar esse problema de persistência?
Eu apreciarei se alguém puder ajudar.
Tags hard-drive redis persistence