gpt4 book ai didi

mysql - 如何保持 sequelize 与 AWS Lambda 函数的连接(或加速初始连接)?

转载 作者:行者123 更新时间:2023-11-29 04:36:36 26 4
gpt4 key购买 nike

我目前有一个 AWS Lambda 函数,它利用 sequelize 连接/查询 RDS 中的 MySQL 数据库。

一切都按预期工作,除了一段时间不活动后的第一次连接总是需要至少 5 秒才能启动。随后的 lambda 调用很快,所以我怀疑连接是持久的和合并的。

这有点烦人,所以我想知道我是否可以优化它以更快地连接,或者配置 lambda 以便连接是永久的。

"use strict"
var Sequelize = require('sequelize')

var database = 'participantData',
host = 'hostname',
username = 'username',
password = 'blah'

var sequelize = new Sequelize(database, username, password, {
host: host,
dialect: 'mysql',
logging: console.log('Query Logged')
})

var Resource = sequelize.define('resource', {
program_name: { type: Sequelize.STRING },
geocoded_address: { type: Sequelize.STRING }
})

exports.handler = function(event, context){
Resource.findAll({
//some filter
})
.then((res) => {
context.succeed(JSON.stringify(res))
})
.catch(error => console.log(error))
}

最佳答案

不,由于 Lambda 的基本工作方式,您不能在 Lambda 中建立永久连接。但是您可以优化 Lambda 启动时间、重新使用等。参见 https://www.reddit.com/r/aws/comments/49l91l/lambda_functions_in_vpc_cold_boot_times_of_10/https://aws.amazon.com/blogs/compute/container-reuse-in-lambda/

我的猜测是您只需要每隔一段时间发送一个请求,以便它继续重用容器。

关于mysql - 如何保持 sequelize 与 AWS Lambda 函数的连接(或加速初始连接)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39938732/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com