用节点编写的 AWS Lambda 函数是否有任何 performance/functionality 差异。js/Java
Are there any performance/functionality differences for AWS Lambda functions written in node.js/Java
我计划将 AWS Lambda 用于应用程序的后端。与 node.js 相比,我更喜欢 Java,但我发现 node.js 中的 Lambda 函数比 Java 更受欢迎。基于 Java 和基于 nodejs 的 lambda 函数之间是否存在任何性能差异?
Java 与 NodeJS 函数相比,Lambda 上的函数通常需要更多资源,并且需要更长的时间才能从冷启动响应。否则没有区别。
虽然 Java 的启动时间较慢,但它的运行时性能比 node.js 或 Python 中的一个好很多。这意味着 Java Lambda 函数在以下情况下有意义:
- 它们会定期调用 - AWS Lambda 将 reuse it's initialized containers 并且您可以受益于没有冷启动延迟的更好性能
and/or
- 它们的运行时间很长 - 如果您的函数是 运行 例如对于 1 或 2 分钟,如果函数本身 运行 比 node.js
快一个数量级,那么您并不真正关心启动的 5 秒
您可能想看看比较冷启动时间的 this github project。
Java 冷启动不佳的一个重要因素可能是 Java 项目通常比例如项目大很多。一个 node.js 函数。在任何情况下,您都应始终尝试使函数尽可能小以减少初始延迟。
当然,性能不应该是选择编程语言的唯一因素。我个人认为 node.js 在工作时非常方便,例如。使用 JSON 数据,这就是我在大部分功能中使用它的原因。
我计划将 AWS Lambda 用于应用程序的后端。与 node.js 相比,我更喜欢 Java,但我发现 node.js 中的 Lambda 函数比 Java 更受欢迎。基于 Java 和基于 nodejs 的 lambda 函数之间是否存在任何性能差异?
Java 与 NodeJS 函数相比,Lambda 上的函数通常需要更多资源,并且需要更长的时间才能从冷启动响应。否则没有区别。
虽然 Java 的启动时间较慢,但它的运行时性能比 node.js 或 Python 中的一个好很多。这意味着 Java Lambda 函数在以下情况下有意义:
- 它们会定期调用 - AWS Lambda 将 reuse it's initialized containers 并且您可以受益于没有冷启动延迟的更好性能
and/or
- 它们的运行时间很长 - 如果您的函数是 运行 例如对于 1 或 2 分钟,如果函数本身 运行 比 node.js 快一个数量级,那么您并不真正关心启动的 5 秒
您可能想看看比较冷启动时间的 this github project。
Java 冷启动不佳的一个重要因素可能是 Java 项目通常比例如项目大很多。一个 node.js 函数。在任何情况下,您都应始终尝试使函数尽可能小以减少初始延迟。
当然,性能不应该是选择编程语言的唯一因素。我个人认为 node.js 在工作时非常方便,例如。使用 JSON 数据,这就是我在大部分功能中使用它的原因。