【发布时间】:2020-04-14 23:39:56
【问题描述】:
我正在测试具有两种不同运行时的应用程序:node.js 和 java 本机可执行文件(提前使用 GraalVM 编译)。
这是启动日志。
Node.js:
Duration: 556.31 ms Billed Duration: 600 ms Memory Size: 128 MB Max Memory Used: 81 MB Init Duration: 365.44 ms
本机可执行文件:
Duration: 548.98 ms Billed Duration: 1000 ms Memory Size: 256 MB Max Memory Used: 106 MB Init Duration: 411.83 ms
如您所见,Duration 和 Init duration 非常接近,但出于某种原因,Billed Duration 对于具有本机可执行文件的自定义运行时几乎是 2 倍。
您能否解释一下有什么区别以及如何避免这种情况?
【问题讨论】:
-
尝试设置相同的内存。 Lambda 以“gb 秒”计费。因此,使用更多内存运行会更昂贵。使用计算器 here 处理 10000000 个请求,600 毫秒的执行时间,一个 128 MB 的 Lambda 成本为 7.63 美元。一个 256MB 的 Lambda 成本为 20.13 美元——几乎是成本的 3 倍。一般来说,如果你的 Lambda 运行时间很短,像 Node 这样的解释语言会更便宜。如果您运行 Lambda 的时间更长,编译语言会更便宜。这是一个非常笼统的说法。
-
谢谢,我试过了。结果相同,只是工作速度慢了一点。 700 毫秒持续时间,1200 计费持续时间
标签: amazon-web-services aws-lambda aws-billing