【发布时间】:2012-03-01 08:36:50
【问题描述】:
我们将 Node.JS 与 Redis 结合使用,但遇到了数据丢失问题。 我们有统计收集系统,所以我们必须收集处理到我们服务器的每个请求。 在高并发请求(平均 1000 个/秒)的情况下,我们在 Redis 中存在数据丢失问题。
我们在 Node.JS 和 Redis 中记录了每个请求,问题是 Node.JS 显示的请求数量完全相同,Redis Monitor 调试的数量相同,但 Redis DBSIZE 向我们显示的值不正确。它总是比预期的少约 40%-50%。
我们的服务器配置是:
英特尔® 酷睿™ i7-920 24 GB DDR3 内存 从赫兹纳我们正在运行 Debian Squeeze,这是我们的 sysctl:
net.ipv4.conf.all.rp_filter=1
net.ipv4.icmp_echo_ignore_broadcasts=1
net.core.somaxconn = 1280
fs.file-max = 50000
vm.overcommit_memory=1
我们的“平均负载”为 0.04,并且有大量可用内存 (~20gb)。
我们将非常感谢有关此问题的任何帮助。
【问题讨论】: