redis 关闭 bgsave 后整个 web 响应时间提升 5 倍,这是个坑么?

2016-08-07 21:45:23 +08:00
 sujin190
最近访问量略有点上涨(每日一千万左右),发现老是偶尔会有延迟很高的情况,超过一秒以上,一直找不出原因,昨天无意中发现出现时机居然和 redis 的 bgsave 一样,猜想和 redis 有点关系,于是关闭了 bgsave ,今天一看响应平均延时居然从原来的 110ms 左右下降到了 20ms 左右,我一直以为 redis 持久化是 fork 进程处理的,应该对正常处理请求不会有影响才是,感觉官方文档也是这么说的,难道是我理解的不对么?还是中间还有其他的坑呢?
11173 次点击
所在节点    Redis
24 条回复
linoder
2016-08-09 00:56:02 +08:00
kernel 没有关闭 cache 的话 bgsave 会占用相当大一部分内存
sujin190
2016-08-09 10:12:13 +08:00
@linoder 写缓存?这就是说用户空间内存使用加写缓存?
Rosanta
2016-08-09 13:16:50 +08:00
bgsave 会 fork 出子进程进行写磁盘操作,把内存里的数据倒进磁盘。但是因为操作系统是 copy on write 机制,你 bgsave 的过程里如果写请求太多的话,也会对服务有影响,最好确认下
sujin190
2016-08-09 13:34:30 +08:00
@Rosanta 恩,确实,虽然 redis 写请求大半,但每秒也不到一千,这小意思了吧

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/297741

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX