Aws lambda 阿波罗服务器Lambda性能缓慢

Aws lambda 阿波罗服务器Lambda性能缓慢,aws-lambda,apollo,apollo-server,Aws Lambda,Apollo,Apollo Server,我正在使用Apollo服务器Lambda创建一些托管在AWS API网关和AWS Lambda上的API。但我注意到,当结果涉及多个领域时,性能确实很慢。我所做的是从MongoDB中查询一些文档,查询本身大约需要200毫秒才能执行,但是Graph服务器的响应在2秒钟后出现!我可以在apollo服务器中配置一些东西来优化它吗?这就是我配置阿波罗服务器的方式 const app = new ApolloServer({ schema: Schema, introspection: proce

我正在使用Apollo服务器Lambda创建一些托管在AWS API网关和AWS Lambda上的API。但我注意到,当结果涉及多个领域时,性能确实很慢。我所做的是从MongoDB中查询一些文档,查询本身大约需要200毫秒才能执行,但是Graph服务器的响应在2秒钟后出现!我可以在apollo服务器中配置一些东西来优化它吗?这就是我配置阿波罗服务器的方式

const app = new ApolloServer({
  schema: Schema,
  introspection: process.env.NODE_ENV !== "production" || true,
  playground: process.env.NODE_ENV !== "production" || true,
  context: async ({ context }) => {
    context.callbackWaitsForEmptyEventLoop = false;
    var dataloaderFactory = new MongooseDataloaderFactory();
    return { ...context, dataloaderFactory };
  },
  persistedQueries: {
    cache: new DynamoDBCache(dynamoDBClient, {
      tableName: process.env.CLIENT + "-" + process.env.NODE_ENV + "-Cache",
      partitionKeyName: "Hash",
      valueAttribute: "Query",
      ttlAttribute: "TTL",
      defaultTTL: 300
    })
  },
  dataSources: () => ({
    data: new Data()
  })
});

您知道AWS资源区域是否设置为靠近您的位置吗?我知道,对于许多资源和框架,默认区域是us-east-1(北弗吉尼亚州),可以在部署步骤中进行配置。这是lambda冷启动吗?部署区域是eu-central-1,它应该是离我的位置(意大利)最近的区域。不,不是lambda冷启动,因为如果我多次重复查询,返回客户机的时间总是很长(虽然当然比第一次尝试的时间要短),我认为OP提到他正在将查询本身计时在大约200ms。我假设他在lambda通话中计时。