MongoDB实例的内存使用率高导致内存溢出的处理方法

问题描述

阿里云云数据库MongoDB实例的内存使用率过高,导致MongoDB实例内存溢出。

问题原因

连接和请求占用大量内存。

解决方案

解决内存使用率高的策略如下,详情请参见MongoDB实例内存使用率高问题

  • 控制并发连接数。根据性能测试结果,数据库中能够创建100个长连接,默认MongoDB Driver可以和后端建立100个连接池。当存在很多客户端时,就需要降低每个客户端的连接池大小,一般建议与整个数据库建立的长连接控制在1000以内,连接太多会导致内存和多线程上下文的开销增加,影响请求处理延时。
  • 降低单次请求的内存开销,例如通过创建索引减少集合的扫描、内存排序等。
  • 在连接数合适的情况下内存占用持续增加,建议升级内存配置,避免可能存在内存溢出和大量清除缓存而导致系统性能急剧下滑。
  • 如果您在使用阿里云MongoDB过程中遇到更多可能存在内存泄漏的场景,可以联系阿里云技术支持处理。

适用于

  • 云数据库MongoDB
阿里云首页 相关技术圈