0

我遇到了以下组合的极端冷启动问题:

  • 阿帕奇 POI 4.1.2
  • 爪哇 11
  • AWS Lambda 运行时 (corretto-11)

(请注意,4.1.2 是我唯一可用的版本。我必须使用公司管理的 jar 注册表)

lambda 函数执行以下操作:

  1. 从外部数据库检索一些数据
  2. src/main/resources从(文件大小:48 kbytes)加载一个 DOCX 模板作为输入流并XWPFDocument用它实例化一个对象
  3. 在 DOCX 中填写数据(数据通常是在文档中填写 3 个 Word 表格,总共 40 行——非常有限)
  4. XWPFDocument::write使用方法写入 ByteArrayOutputStream
  5. 将 ByteArrayOutputStream 保存到 S3 文件

当 Lambda 冷启动时,我观察到大约 12 秒的额外持续时间。使用 AWS XRay,我观察到主要的罪魁祸首是分段 (2) 平均耗时 7.5 秒,分段 (4) 平均耗时 4.2 秒。

请注意,当 Lambda 已经预热时,段 (2) 和 (4) 的执行时间分别为 1.1 秒。

所以简而言之,当 Lambda 处于冷启动状态时,我不仅会受到通常的 AWS Lambda 冷启动惩罚(约 4 秒)的影响,而且还会受到来自XWPFDocument.

我想知道冷启动时的这种行为是否已知,或者我只是自己做错了什么?

4

0 回答 0