线上真实案例:mongo被OOM的一次历险

线上MongoDB数据库遭遇OOM问题,导致服务中断。通过分析发现大表和冷数据是主要原因。优化措施包括删除历史数据、调整Wired Tiger配置,尤其是减少eviction的延迟时间,以提高Evict效率。同时,强调了冷热数据分离的重要性。
摘要由CSDN通过智能技术生成

前言

近期线上平台出现一次故障,mongo数据库被oom了,由于是高可用架构,重新选举了主节点后,继续工作,没想到刚选举完又被oom,mongo重启达到了分钟级别,多个节点被oom后,不能很快的拉起来提供服务,对业务产生了巨大的影响。

分析

•目前从表面来看,有这样几个问题

1.内存128g,在这么高的配置下都发生了OOM,那么看来是有优化空间的,mongo为什么吃了这么多内存 2.为什么启动这么慢

通过表分析,发现有很多大表,其中一个巨大的表占用了110个g,且有频繁的读写。原因是因为有很多冷数据,未做冷热数据分离。

优化1

删除一些历史遗留数据

Mongo优化

从mongoDB 3.2开始支持多种存储引擎,其中默认为 Wired Tiger。我们使用的正是mongodb 3.2版本

MongoDB 不是内存数据库,但是为了提供高效的读写操作存储引擎会最大化的利用内存缓存。

MongoDB 的读写性能都会随着数据量增加达到瓶颈,这其中的根本原因就是内存是否能满足全部的数据。

答案肯定是否定的。

业务的发展超过了机器的配置,那

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

死磕音视频

你的打赏是我分享的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值