2016-12-31 36 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

它通常也更便宜(因爲處理時間更少=資金更少,並且在成本與處理時間方面不是線性的) –