【问题标题】:How can I improve the performance of an AWS Lambda Function with NodeJS?如何使用 NodeJS 提高 AWS Lambda 函数的性能?
【发布时间】:2017-05-15 12:04:45
【问题描述】:

我目前有一个运行中的 NodeJS 应用程序,它可以生成托管在 AWS Lambda 上的模板化 PDF。它接受车把模板,使用模板和数据生成 pdf,将 PDF 写入 S3 存储桶并返回文件名。如果该文件在 S3 上已经存在,则返回现有文件的文件名。

当文件存在时,大约需要 3 秒才能完成。如果需要生成文件,则需要 15-25 秒才能完成。

我已将其配置为具有最大 128MB 的内存和 25 秒的超时时间,但如果可能的话,我真的希望将其降低到 15 秒。由于将要生成的某些 PDF 的复杂性和长度,我目前不得不将超时设置这么长。

不包括我正在使用的 NodeJS 库,有没有一种方法可以加快 Lambda 执行和/或 Lambda 在读取/写入 S3 时的延迟?

【问题讨论】:

  • 向我们展示代码。也许可以改进。

标签: node.js amazon-web-services amazon-s3 lambda aws-lambda


【解决方案1】:

提高 Lambda 函数性能的最简单方法之一是增加分配给它的内存。增加内存也会增加分配给函数的 CPU 量,您应该会看到相应的性能提升。

除此之外,这取决于您将用于任何应用程序的正常性能调整技术。

【讨论】:

  • 有趣。如果您read between the lines,CPU 容量与内存大致呈线性关系,因为它基于当前一代通用 EC2 实例的配置比率......这意味着它仅为每 GiB 0.87 (13÷15) 个 ECU 的数量级为该功能配置,其中 1 个 ECU(EC2 计算单元,用于比较 CPU 容量的基准规模)≅ 1 GHz。
  • 它通常也更便宜(因为更少的处理时间 = 更少的钱,而且成本与处理时间不是线性的)
猜你喜欢
  • 2017-08-02
  • 2020-03-31
  • 2021-03-17
  • 1970-01-01
  • 2021-07-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多