2016-12-31 31 views
0

我目前有一个工作的NodeJS应用程序,用于生成AWS Lambda上托管的模板化PDF。它采用句柄模板,用模板和数据生成pdf,将PDF写入S3存储桶并返回文件名。如果文件已经存在于S3上,它将返回现有文件的文件名。如何使用NodeJS提高AWS Lambda函数的性能?

当该文件存在,它需要3秒左右即可完成。如果需要生成文件,则需要15-25秒才能完成。

我有它配置有记忆和超时最大128MB第25秒,但我真的喜欢,如果有可能下降,为15秒。由于将生成一些PDF的复杂性和长度,我目前不得不离开很长的超时时间。

不包括我现在用的是林达的NodeJS,有没有办法读取/写入到S3的时候,我可以加快LAMBDA执行和/或λ的延迟?

+0

向我们展示代码。也许它可以改进。 – johni

回答

9

一个最简单的方式获得您的lambda函数提高性能,增加分配给它的内存。增加内存也会增加分配给您的功能的CPU数量,您应该看到相应的性能提高。

除此之外,它的下跌给你使用任何应用程序中使用正常的性能调优技术。

+1

有趣。如果[在行间阅读](http://docs.aws.amazon.com/lambda/latest/dg/lambda-introduction-function.html#resource-model),CPU容量与内存大致成线性比例,因为它基于当前一代通用EC2实例的供应比...这意味着它只能在0.87(13÷15)每吉布供应给功能ECU,其中,1个ECU(EC2计算单元,一个基准刻度的顺序用于比较CPU容量)≅1 GHz。 –

+2

它通常也更便宜(因为处理时间更少=资金更少,并且在成本与处理时间方面不是线性的) –