原链接:【性能实战】mongodb 连接数过多导致的 oom · TesterHome
也是我哈!
流程图:
业务场景:
客户端发起请求后,服务会通过 http 对外接口收集客户端的 “A 字段” 信息,并写进 redis 缓存和保留永久数据到 mongodb,然后提供 searchtag 接口供其他服务获取 “A 字段” 信息。
其他服务通过 collect 服务提供的 search 接口获取 “A 字段” 信息时,根据唯一标识获取信息,如果 redis 中存在数据,直接在 redis 中获取,如果 redis 中未获取到数据,则从 mongodb 获取。
发版:
线上总用户量:过亿,日活(保密)
collect 是一个经过长时间的鞭打还好好活着的服务
发版结果:collect 服务存在 oom
问题定位:
监控服务告警,提示 collect 服务 oom,查看请求耗时时发现 mongodb 插入时间耗时过长,时间最长的达到 3s,其他服务未发现明显问题ÿ