「AWS SDK for Java を使用した Amazon Aurora Serverless v2 のデータ API - Data API と SnapStart の組み合わせ」シリーズのパート 7 では、Data API for Java を使用して Amazon Aurora Serverless v2 PostgreSQL データベースに接続する Lambda 関数のコールド スタート時間とウォーム スタート時間を測定しました。 3 つの使用例:
この記事では、Amazon Aurora Serverless v2 の Data API の代わりに DynamoDB を使用した場合の測定結果と比較したいと思います。
Lambda SnapStart に関する私の記事シリーズでは、同様のアプリケーションに対してそのような測定をすでに行っていますが、記事では、異なる Lambda メモリ設定を使用した Java 21 でのウォーム スタートの測定
Amazon Aurora Serverless v2 の Data API と DynamoDB の両方のアプリケーションは非常に似ています:
すべての測定値をまとめてみましょう。
コールド (c) とウォーム (m) の開始時間 (ミリ秒):
アプローチ | c p50 | c p75 | c p90 | c p99 | c p99.9 | 最高 | w p50 | w p75 | w p90 | w p99 | w p99.9 | wマックス |
---|---|---|---|---|---|---|---|---|---|---|---|---|
データ 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 |
Data 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 |
データ 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가지 사용 사례에 대해 데이터 API를 사용하여 Amazon Aurora Serverless v2 PostgreSQL 데이터베이스에 연결하는 것과 DynamoDB 데이터베이스에 연결하는 Lambda 함수의 콜드 시작 및 웜 시작 시간 측정값을 비교했습니다.
우리가 관찰한 바에 따르면 Lambda 기능에서 SnapStart를 활성화하지 않은 콜드 스타트 시간은 두 가지 모두 상당히 유사합니다. SnapStart가 활성화된 경우(특히 프라이밍 없이) Amazon Aurora Serverless v2용 데이터 API는 특히 백분위수가 90보다 큰 경우 콜드 스타트 시간이 훨씬 더 높습니다. 이 차이점을 이해하려면 더 깊이 파고들어야 합니다. 특히 프라이밍을 적용한 경우에는 그렇게 클 것이라고 기대하지 마십시오. 그 이유는 DynamoDB와 같은 AWS 기본 서비스가 SnapStart를 더 잘 인식하기 때문에 연결 재개를 더 잘 처리할 수 있기 때문일 것입니다.
Data API for Amazon Aurora Serverless v2의 웜 스타트(실행) 시간은 DynamoDB에 비해 지속적으로 훨씬 높았습니다. DynamoDB는 한 자릿수 또는 두 자릿수 밀리초의 응답 시간으로 유명하기 때문에 저도 예상했습니다.
위 내용은 Java용 AWS SDK를 통한 Amazon Aurora Serverless용 데이터 API - 콜드 스타트와 웜 스타트 비교 부분: 데이터 API와 DynamoDB의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!