构建 Sequelize 实例似乎花费的时间太长

Construction of an instance of Sequelize seems to take too long

我有一些 Typescript 代码使用 sequelize@5.22.3sequelize-typescript@1.1.0 库来管理 AWS Aurora MySQL RDS 数据库 (5.7.mysql_aurora.2.07.2).

此代码 运行 作为 Lambda 函数,可通过 AWS API 网关访问。所有这些(包括 RDS 数据库)都部署在私有 VPC 中(所有这些都使用相同的 VPC)。

这是我调用来创建 Sequelize 实例的函数(这是在 Lambda 函数加载时完成的):

import { Sequelize } from 'sequelize-typescript';

function createSequelize(): Sequelize {
  const t0 = new Date().getTime();
  const sequelize = new Sequelize('mysql://aaa.cluster-c52mlmcfdpvd.eu-west-2.rds.amazonaws.com/bbb', {
    dialect: 'mysql',
    logging: false,
    username: 'xxx',
    password: 'xxx',
    pool: {
      min: 0,
      max: 1,
      idle: 10000,
      acquire: 30000
    }
  });

  const t1 = new Date().getTime();

  console.log(t1 - t0);

  return sequelize;
}

注意:我在上面的代码中使用了虚拟字符串来隐藏敏感数据(例如aaabbb , xxx).

如您所见,我为此添加了一些计时代码。

我很惊讶它需要 1.5s2s 之间才能做到这一点。

每当 Lambda 处于冷状态时,这就会在我们的应用程序中引入不可接受的延迟。

我能做些什么来缩短这个时间吗?

其他可能相关的库版本:

终于找到原因了。 Lambda 函数默认分配 128MB 内存。

当我将其增加到 1600MB 时,Sequelize 实例的构建下降到 150ms.