Java용 AWS SDK를 통한 Amazon Aurora Serverless용 데이터 API - 콜드 스타트와 웜 스타트 비교 부분: 데이터 API와 DynamoDB

王林
풀어 주다: 2024-07-23 11:17:43
원래의
803명이 탐색했습니다.

Data API for Amazon Aurora Serverless vith AWS SDK for Java - Part omparing cold and warm starts: Data API vs DynamoDB

導入

「AWS SDK for Java を使用した Amazon Aurora Serverless v2 のデータ API - Data API と SnapStart の組み合わせ」シリーズのパート 7 では、Data API for Java を使用して Amazon Aurora Serverless v2 PostgreSQL データベースに接続する Lambda 関数のコールド スタート時間とウォーム スタート時間を測定しました。 3 つの使用例:

  • Lambda 関数で SnapStart を有効にしていない場合
  • Lambda 関数で SnapStart が有効になっていますが、プライミング最適化は行われていません
  • Lambda 関数で SnapStart を有効にし、プライミング最適化 (PostgreSQL データベースで SQL ステートメントの実行を事前にウォームアップ) を使用します。

この記事では、Amazon Aurora Serverless v2 の Data API の代わりに DynamoDB を使用した場合の測定結果と比較したいと思います。

Lambda のコールド スタートとウォーム スタートの比較: Data API for Amazon Aurora Serverless v2 と DynamoDB

Lambda SnapStart に関する私の記事シリーズでは、同様のアプリケーションに対してそのような測定をすでに行っていますが、記事では、異なる Lambda メモリ設定を使用した Java 21 でのウォーム スタートの測定

Amazon Aurora Serverless v2 の Data API と DynamoDB の両方のアプリケーションは非常に似ています:

  • データベースに製品を保存および取得するためのロジックを提供します
  • 両方のプロジェクトの Lambda 関数のメモリ設定は 1024 MB です
  • デプロイメントアーティファクトのサイズはどちらも約 18 MB です
  • 両方のプロジェクトの Lambda 関数は、デフォルトの同期 HTTP Apache クライアントを使用してデータベースと通信します
  • 両方のプロジェクトの Lambda 関数は x86_64 アーキテクチャを使用します

すべての測定値をまとめてみましょう。

コールド (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를 활성화하지 않고
  • Lambda 기능에서 SnapStart를 활성화했지만 프라이밍 최적화는 사용하지 않음
  • Lambda 함수에서 SnapStart를 활성화하고 데이터베이스 요청 프라이밍을 사용하여

우리가 관찰한 바에 따르면 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:dev.to
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!