我已将一个AWS Lambda函数连接到Amazon RDS(MySQL)。当该Lambda函数被同时调用100次时,RDS中会打开近400个连接(如RDS控制台所示)。这是为什么?
我使用以下命令检查了活动连接:
SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST WHERE DB = "MYDB";
所有连接都来自Lambda容器。有人知道Lambda容器如何处理同时请求的吗?为什么不重用容器?
当前配置:
var sequelize = new Sequelize('DB','username', 'password' ,{
dialect: 'mysql',
port: port,
host: host,
pool: {
max: 20,
min: 0,
idle: 300000
}
});
即使每个请求只打开一个连接,也应该是100个。怎么会打开400个连接?
我正在使用Sequelize。Node JS 6.9.1
注意:连接只发生在Lambda Handler方法之外一次