Open gruan01 opened 8 years ago
Hi @gruan01, how did you measure the replication delay?
Hi.
When I set a new key in master, until about 1 minute later, I can saw it appear at slave. When I update it's value at master , It's value not change until about 1 minute later in slave. master_repl_offset more than slave_repl_offset very much ! Master's key's count more than slave's key's count about 100.
I don't know what wrong of the configuration. We are trying to re-scale it's store structure (not use hash).
@gruan01
can you please check the repl-ping-slave-period
flag value on the slave?
To get the flag value, connect to the slave with redis-cli and run "config get repl-ping-slave-period" the default value is 10 (seconds).
If the server is not sending a PING or data for more than 10 seconds, the slave is contacting the server to check why it hasn't received the PING or the data.
Hi, thanks. Yes , we use the default value of repl-ping-slave-period, I have checked it , it's value is 10.
@gruan01 unfortunately Redis doesn't have any debug logging for the replication code that can help for this issue, therefore it's really difficult to understand why the replication on your system takes 1 minute to occur. If the data stored in your Redis instance is not private data and you can share it, I can try to reproduce the issue on my test machine. But if it's private data that you cannot share, the only alternative would be to installed a custom version of Redis with extra debug logging for the replication code.
@gruan01 are both computers on your local network or somewhere in the cloud? maybe it's network latency that causes the delay, but even so 1 minute is still too much
@enricogior Thank you . I have see the RDB file, now it's size more than 3.5G, and it's our product's price data, so I can't share it. Now , we are planing to change store structure, not use hash. Thanks.
@chester89 The master and slaver in same machine, so I don't think is cause of network latency. Thanks.
@gruan01 ok.
Hello ,
We are using Redis 2.8.2400 on windows. Host Environment : 256G Memory, 24CPU , RAID10
In the host, we deployed some Redis service from different Port. (No other service , only redis) We use master-slaver to split write and read.
Redis Service "A" have about 10W hash keys in it, use 6.5G Memory. Redis Service "B" have about 500W Keys (not hash) , use 1.95G Memory.
Many days ago, we found that : Slaver of Service "A", Replication with master have many seconds delay (about 1 minute). We try to use Diskless replication, also have many seconds delay.
Service "B" also delay, but will synced very quickly . I don't know why!
Slaver configuration like the following (Have remove commented config)
Master's configuration (Have remove commented config)
Can somebody tell me what's wrong with the configuration ? Why have so long delay with Replication ??
Thanks very much.