redis-server每5分钟崩溃一次

时间:2014-03-12 14:03:28

标签: php mysql redis phpredis

我正在使用从mysql中提取数据的phpredis设置一个哈希条目;因为我正在将一些数据从我的MySQL数据库迁移到redis以便更快地访问,因为我在redis中进行的数据/更改量很大(4 GB),所以每隔5-10分钟就会崩溃(变量)。

日志说:

[4464] 12 Mar 12:20:04 # Background saving terminated by signal 9
[4464] 12 Mar 12:20:04 * 10 changes in 300 seconds. Saving...
[4464] 12 Mar 12:20:05 * Background saving started by pid 9212
[4464] 12 Mar 12:20:05 # Background saving terminated by signal 9
[4464] 12 Mar 12:20:05 * 10 changes in 300 seconds. Saving...
[4464] 12 Mar 12:20:06 * Background saving started by pid 9214
[4464] 12 Mar 12:20:07 # Background saving terminated by signal 9
[4464] 12 Mar 12:20:07 * 10 changes in 300 seconds. Saving...
[10975] 12 Mar 12:43:13 * Server started, Redis version 2.2.12

这让我一次又一次地重启redis,这非常痛苦,我已经将vm.overcommit设置为1。

我在Ubuntu 12.04 LTS上使用带有1.6 GB RAM的AWS ec2小实例。

请给我一些明智的解决方案。

提前致谢。

1 个答案:

答案 0 :(得分:1)

4GB,只有1.6GB可用?或者你只谈论吞吐量?您应始终保持低于物理内存限制。 Redis不是为虚拟内存而设计的(嗯,曾经不推荐使用redis的虚拟内存支持)。您可以在redis.conf中设置限制(我建议物理内存的95%)。

也许这会有所帮助:shutting off background saving

另外,请记住redis以安全的方式处理备份。 如果内存为4GB,rdb文件为4GB,则首先写入新备份,然后删除旧备份。 AOF备份的行为略有不同:仅附加。

亲切的问候,TW