ホームページ  >  記事  >  Java  >  GraalVM ネイティブ イメージを使用した Lambda 関数 - 異なる Lambda メモリ設定を使用してコールド スタートとウォーム スタートを測定する部分

GraalVM ネイティブ イメージを使用した Lambda 関数 - 異なる Lambda メモリ設定を使用してコールド スタートとウォーム スタートを測定する部分

Susan Sarandon
Susan Sarandonオリジナル
2024-11-05 22:59:02985ブラウズ

Lambda function with GraalVM Native Image - Part easuring cold and warm starts using different Lambda memory settings

導入

記事シリーズのパート 2 では、GraalVM 21 ランタイムを使用した GraalVM ネイティブ イメージを含むカスタム ランタイムを使用して、(Spring Boot 3 などのフレームワークを使用せずに) 純粋な Lambda 関数を開発およびデプロイする方法を検討しました。パート 3 では、このアプローチを使用した 1024 MB のメモリでの Lambda 関数のパフォーマンス (コールドおよびウォーム スタート時間)。

この記事では、256 MB から 1536 MB までのさまざまなメモリ設定で Lambda のコールド スタートとウォーム スタートを測定し、コストとパフォーマンスのトレードオフを調査します。

異なるメモリ設定を持つ GraalVM ネイティブ イメージを含むカスタム ランタイムを使用した Lambda 関数のコールド スタートとウォーム スタートの測定

この記事シリーズのパート 3 で説明したのとまったく同じ実験を再利用しますが、メモリ設定は 256 MB から 1536 MB の間で異なります。

実験の結果は次のとおりです:

コールド (c) およびウォーム (m) の開始時間 (ミリ秒):

Memory setting c p50 c p75 c p90 c p99 c p99.9 c max w p50 w p75 w p90 w p99 w p99.9 w max
256 MB 822.74 833.50 845.25 923.88 952.96 953.84 4.04 4.59 5.47 18.55 137.10 471.76
512 MB 620.04 621.40 657.70 705.37 727.57 727.97 4.16 4.65 5.46 14.32 64.54 229.29
768 MB 561.63 574.11 589.82 628.15 633.83 634.23 4.23 4.73 5.55 13.01 42.31 203.22
1024 MB 525.77 532.12 542.32 632.56 635.73 636.11 4.16 4.69 5.46 12.30 37.25 211.83
1280 MB 515.37 524.20 539.08 577.57 624.39 624.52 4.23 4.77 5.64 12.80 34.67 126.97
1536 MB 504.16 516.40 528.93 548.86 628.15 628.31 4.26 4.73 5.55 12.70 44.03 105.46

結論

この記事では、GraalVM 21 ランタイムで GraalVM Native Image を含むカスタム ランタイムを使用して、256 ~ 1536 MB のメモリ設定を持つ純粋な Lambda 関数のコールド スタートとウォーム スタートを測定しました。

256 MB や 512 MB などの低めのメモリ設定でも、ウォーム スタート時間が互いに非常に近く、主に高いパーセンタイルで違いが見られることがわかります (>= p90)。コールドスタート時間は、256 MB と 512 MB では非常に長く、768 MB から開始すると、Lambda にさらに多くのメモリを与えることでほんの少しだけ短縮されますが、1024 MB を超えるメモリでは目立った違いはありません。 パフォーマンス要件に応じて、サンプル アプリケーションで最初に指定した 1024 MB よりも少ないメモリを Lambda に与えることができ、768 MB またはそれより少し少ないメモリとのトレードオフで非常に優れた価格パフォーマンスを実現できます。

公開時には、新しいバージョン (GraalVM 23 ランタイムなど) も利用できるようになったため、バージョンを変更し、シリーズのパート 2 の手順に従って GraalVM ネイティブ イメージを再コンパイルし、パフォーマンスを再測定します。 .

以上がGraalVM ネイティブ イメージを使用した Lambda 関数 - 異なる Lambda メモリ設定を使用してコールド スタートとウォーム スタートを測定する部分の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。