首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >继续关闭MongoNetworkError连接6到xx.x.xx.xx:xxxxx

继续关闭MongoNetworkError连接6到xx.x.xx.xx:xxxxx
EN

Stack Overflow用户
提问于 2022-08-30 08:16:51
回答 1查看 28关注 0票数 0

我一直在使用Node.js 16 + MongoDB v4的AWS中获得以下错误,这通常发生在流量较高的Lambda中,其他lambda似乎对当前的设置没有影响。

代码语言:javascript
运行
复制
MongoNetworkError: connection 6 to xx.x.xx.xx:xxxxx closed at Connection.onClose (/var/task/node_modules/mongodb/lib/cmap/connection.js:135:19)

lambda内部的MongoDB连接:

代码语言:javascript
运行
复制
const MongoClient = require('mongodb').MongoClient;
const logger = require(''); const log = logger(__filename);

const getDbClient = async (uri) => {
  try {
    log.info('Connecting to Mongo client...');
    const dbClient = await MongoClient.connect(uri);
    log.info('Connected to Mongo client');
    return dbClient;
  }
  catch (err) {
    log.error('Error encountered connecting to database: ', err);
    throw err;
  }
};

module.exports = {
  getDbClient
};

mongodb可以选择maxPoolSize=10,因为我最近进行了从MongoDB v3到v4的升级,v4默认有maxPoolSize of 100,v3将其升级到10. https://github.com/mongodb/node-mongodb-native/blob/HEAD/etc/notes/CHANGES_4.0.0.md#connection-pool-options

MongoDB硬件:

3xM4.XLarge(4 4Core/16 RAM)

这个问题发生在我将MongoDB驱动程序从v3升级到v4之后,并停止在lambda中检查是否存在现有连接,这样我就可以使用它了,因为在v4中,这显然是自动完成的。

我以前用的是:MongoClient.isConnected() ( MongoDB v3 )。

你们知道这是什么原因吗?

EN

回答 1

Stack Overflow用户

发布于 2022-08-30 08:54:02

我没有足够的声誉来发表评论,所以我会发个回复:D

我认为您的Lambda功能现在的流量非常高,所以它甚至超过了mongodb的池大小

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73539202

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档