2016-01-07 106 views
0

我正在调查我们系统上的redis内存问题。redis“60秒内发生10000次更改”每3分钟运行一次

我试图弄清楚什么是由10000个变化(这在我看来是太多)

奇怪的是,我得到10000 changes in 60 seconds. Saving...但每3分钟,而不是60秒正如我所预料的那样。

日志样本:

[10993] 03 Jan 06:37:46.166 * 10000 changes in 60 seconds. Saving... 
[10993] 03 Jan 06:37:46.167 * Background saving started by pid 4802 
[4802] 03 Jan 06:37:46.170 * DB saved on disk 
[4802] 03 Jan 06:37:46.170 * RDB: 2 MB of memory used by copy-on-write 
[10993] 03 Jan 06:37:46.268 * Background saving terminated with success 
[10993] 03 Jan 06:40:27.140 * 10000 changes in 60 seconds. Saving... 
[10993] 03 Jan 06:40:27.141 * Background saving started by pid 5081 
[5081] 03 Jan 06:40:27.145 * DB saved on disk 
[5081] 03 Jan 06:40:27.145 * RDB: 2 MB of memory used by copy-on-write 
[10993] 03 Jan 06:40:27.242 * Background saving terminated with success 
[10993] 03 Jan 06:43:08.335 * 10000 changes in 60 seconds. Saving... 

redis_version:2.8.4

+0

这不完全是3分钟,更像是2.6分钟。这可能是在达到1000次更改并且redis仍然存在的时候。尝试使用'MONITOR'来查看正在发生的事情。 –

+0

你可以发布你的redis实例的配置文件(至少是相关的部分)? –

+0

的保存是: 节省900 1 节省300 10 节省60 10000 我只是想知道为什么它打印60秒 – Boaz

回答

1

save 60 10000在你的配置意味着Redis的定期检查是否已经有至少10000变化其一直至少 60自上次rdb保存以来的秒数。只有满足这两个条件(对于任何保存点),才会开始新的rdb保存。另外,如果您认为~3分钟内的10000次变化听起来很多,不要忘记一个命令可以将变化次数增加一个以上,例如, MSET

+0

日志可能会做出意义,如果它读作自上次保存10000种变化和> 60秒。保存...' – nnog