介绍
在我们的文章系列的第 2 部分中,我们探索了如何使用包含 GraalVM 21 运行时的 GraalVM Native Image 的自定义运行时来开发和部署纯 Lambda 函数(不使用 Spring Boot 3 等任何框架),在第 3 部分中,我们测量了使用此方法使用 1024 MB 内存的 Lambda 函数的性能(冷启动和热启动时间)。
在本文中,我们将使用 256 到 1536 MB 之间的不同内存设置来测量 Lambda 的冷启动和热启动,以探索成本和性能之间的权衡。
使用包含具有不同内存设置的 GraalVM 本机映像的自定义运行时测量 Lambda 函数的冷启动和热启动
我们将重复使用本系列文章第 3 部分中描述的完全相同的实验,但内存设置在 256 到 1536 MB 之间。
以下是实验结果:
冷 (c) 和暖 (m) 开始时间(以毫秒为单位):
256 MB822.74833.50845.25923.88952.96953.844.044.595.4718.55137.10471.76512 MB620.04621.40657.70705.37727.57727.974.164.655.4614.3264.54229.29768 MB561.63574.11589.82628.15633.83634.234.234.735.5513.0142.31203.221024 MB525.77532.12542.32632.56635.73636.114.164.695.4612.3037.25211.831280 MB515.37524.20539.08577.57624.39624.524.234.775.6412.8034.67126.971536 MB504.16516.40528.93548.86628.15628.314.264.735.5512.7044.03105.46结论
在本文中,使用包含 GraalVM Native Image 和 GraalVM 21 运行时的自定义运行时,测量了内存设置在 256 到 1536 MB 之间的纯 Lambda 函数的冷启动和热启动。
我们观察到,对于设置较低的内存(例如 256 或 512 MB),热启动时间彼此非常接近,并且差异主要在高百分位处可见(>= p90)。 256 和 512 MB 的冷启动时间相当长,从 768 MB 开始,通过为 Lambda 提供更多内存,冷启动时间只会稍微减少一点,而对于大于 1024 MB 的内存没有任何明显差异。 根据您的性能要求,您可以为 Lambda 提供少于 1024 MB 的内存(正如我们最初在示例应用程序中给出的那样),并且使用 768 MB 甚至更少的内存可以获得非常好的性价比。
在发布时,还提供了较新的版本(例如 GraalVM 23 运行时),因此您可以按照本系列第 2 部分中的说明进行版本更改并重新编译 GraalVM Native 映像,并重新测量性能.
以上就是带有 GraalVM Native Image 的 Lambda 函数 – 使用不同的 Lambda 内存设置部分缓解冷启动和热启动的详细内容,更多请关注范的资源库其它相关文章!
转载请注明:范的资源库 » 带有GraalVMNativeImage的Lambda函数