シリーズ「Data API for Amazon Aurora Serverless v2 with AWS SDK for Java - Data API meets SnapStart」のパート 7 では、Data を使用して Amazon Aurora Serverless v2 PostgreSQL データベースに接続する Lambda 関数のコールド スタート時間とウォーム スタート時間を測定しました。 3 つのユースケースの API :
この記事では、Amazon Aurora Serverless v2 の Data API の代わりに DynamoDB を使用した場合の測定値と比較したいと思います。
Lambda SnapStart に関する私の記事シリーズでは、同様のアプリケーションに対してそのような測定をすでに行っていますが、記事では「異なる Lambda メモリ設定を使用した Java 21 でのウォーム スタートの測定」を参照してください。
Amazon Aurora Serverless v2 と DynamoDB の両方のアプリケーション Data API は非常に似ています:
すべての測定値をまとめてみましょう。
コールド (c) およびウォーム (m) の開始時間 (ミリ秒):
アプローチ | c p50 | c p75 | c p90 | c p99 | c p99.9 | 最大値 | w p50 | w p75 | w p90 | w p99 | w p99.9 | 最大値 |
---|---|---|---|---|---|---|---|---|---|---|---|---|
データ API、SnapStart が有効になっていません | 3154.35 | 3237 | 3284.91 | 3581.49 | 3702.12 | 3764.92 | 104.68 | 173.96 | 271.32 | 572.11 | 1482.89 | 2179.7 |
DynamoDB、SnapStart が有効になっていません | 3157.6 | 3213.85 | 3270.8 | 3428.2 | 3601.12 | 3725.02 | 5.77 | 6.50 | 7.81 | 20.65 | 90.20 | 1423.63 |
データ API、プライミングなしで SnapStart が有効になりました | 1856.11 | 1994.61 | 2467.83 | 3229.11 | 3238.80 | 3241.75 | 61.02 | 113.32 | 185.37 | 639.35 | 1973.30 | 2878.5 |
DynamoDB、プライミングなしで SnapStart が有効になりました | 1626.69 | 1741.10 | 2040.99 | 2219.75 | 2319.54 | 2321.64 | 5.64 | 6.41 | 7.87 | 21.40 | 99.81 | 1355.09 |
Data API、プライミングで SnapStart が有効になりました | 990.84 | 1069.04 | 1634.84 | 2120.00 | 2285.03 | 2286.9 | 60.06 | 106.35 | 185.37 | 581.27 | 1605.37 | 2658.24 |
DynamoDB、プライミングで SnapStart が有効になりました | 702.55 | 759.52 | 1038.50 | 1169.66 | 1179.05 | 1179.36 | 5.73 | 6.51 | 7.87 | 21.75 | 92.19 | 328.41 |
この記事では、3 つのユースケースについて、Data API を使用して Amazon Aurora Serverless v2 PostgreSQL データベースに接続する場合と、DynamoDB データベースに接続する場合の Lambda 関数のコールド スタート時間とウォーム スタート時間の測定値を比較しました。
私たちが観察したのは、Lambda 関数で SnapStart を有効にしない場合のコールド スタート時間は、両方でかなり同等であるということです。 SnapStart が有効になっている場合 (プライミングなし、特にプライミングあり)、Data API for Amazon Aurora Serverless v2 のコールドスタート時間は、特にパーセンタイル >= 90 の場合に大幅に長くなります。私は理解していなかったので、この違いを理解するにはさらに深く調べる必要があります。特にプライミングが適用されている場合は、これほど大きくなることが予想されます。おそらくその理由は、DynamoDB のような AWS ネイティブ サービスが SnapStart をより認識しており、接続の再開をより適切に処理できるためです。
Data API for Amazon Aurora Serverless v2 のウォーム スタート (実行) 時間は、DynamoDB と比較して常にはるかに高かったですが、DynamoDB は 1 桁または 2 桁のミリ秒の応答時間で知られているため、これも予想していました。
免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。
Copyright© 2022 湘ICP备2022001581号-3