Aws lambda AWS代理:在lambda中使用sequelize时RDS连接限制

Aws lambda AWS代理:在lambda中使用sequelize时RDS连接限制,aws-lambda,sequelize.js,amazon-rds,amazon-rds-proxy,Aws Lambda,Sequelize.js,Amazon Rds,Amazon Rds Proxy,我正在利用AWS服务的使用来实现一种功能 小结:我有一个lambda可以访问RDS中的Postgres DB。代理端点不是直接连接到DB,而是按照体系结构的建议进行访问。生成IAM令牌没有问题,在创建Sequelize连接时它被用作密码 问题:最初我没有使用rds代理。在这个场景中,我使用lambda的执行上下文来重用连接。在这里,我没有关闭lambda中的连接(它工作正常-在这里直接连接到数据库)。但在代理实现中,在不关闭连接的情况下,代理对数据库的连接会出现一个很大的峰值,它正在测试负载限制

我正在利用AWS服务的使用来实现一种功能

小结:我有一个lambda可以访问RDS中的Postgres DB。代理端点不是直接连接到DB,而是按照体系结构的建议进行访问。生成IAM令牌没有问题,在创建Sequelize连接时它被用作密码

问题:最初我没有使用rds代理。在这个场景中,我使用lambda的执行上下文来重用连接。在这里,我没有关闭lambda中的连接(它工作正常-在这里直接连接到数据库)。但在代理实现中,在不关闭连接的情况下,代理对数据库的连接会出现一个很大的峰值,它正在测试负载限制。以10req/秒的速度,我看到了90个连接

在lambda中关闭连接时,连接会大大减少到
const { Sequelize } = require('sequelize');
let proxyToken = '***latest iam token with 15min validity***';
let additionalConnectionDetails = {
host: process.env.PROXY_ENDPOINT,
schema: 'schemaname',
searchPath: 'searchpath',
dialect: 'postgres',
dialectOptions: {
    prependSearchPath: true,
    ssl: {
    require: true,
    rejectUnauthorized: false 
    }
},
// pool: {
//     max: 2,
//     min: 1,
//     acquire: 3000,
//     idle: 0,
//     evict: 120000
// },
// // maxConcurrentQueries: 100
}

sequelize_connection = new Sequelize(dbCreds.app, dbCreds.userName, proxyToken, additionalConnectionDetails);
console.log('sequelize', sequelize_connection)
return sequelize_connection