Java용 AWS SDK가 포함된 Amazon Aurora Serverless v2용 데이터 API 시리즈 7부 - 데이터 API와 SnapStart의 만남에서는 데이터를 사용하여 Amazon Aurora Serverless v2 PostgreSQL 데이터베이스에 연결하는 Lambda 함수의 콜드 시작 및 웜 시작 시간을 측정했습니다. 3가지 사용 사례를 위한 API :
이 기사에서는 이러한 측정값을 Amazon Aurora Serverless v2용 데이터 API 대신 DynamoDB를 사용한 측정값과 비교하고 싶습니다.
Lambda SnapStart에 대한 내 기사 시리즈에서 우리는 이미 유사한 애플리케이션에 대해 이러한 측정을 수행했지만 다른 Lambda 메모리 설정을 사용하여 Java 21로 웜 스타트 측정 기사에서 설명합니다.
Amazon Aurora Serverless v2와 DynamoDB용 애플리케이션 데이터 API는 모두 매우 유사합니다.
이제 모든 측정값을 종합해 보겠습니다.
콜드(c) 및 웜(m) 시작 시간(ms):
Approach | 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 |
---|---|---|---|---|---|---|---|---|---|---|---|---|
Data API, no SnapStart enabled | 3154.35 | 3237 | 3284.91 | 3581.49 | 3702.12 | 3764.92 | 104.68 | 173.96 | 271.32 | 572.11 | 1482.89 | 2179.7 |
DynamoDB, no SnapStart enabled | 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 enabled without priming | 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 enabled without priming | 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 enabled with priming | 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 enabled with priming | 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를 더 잘 인식하여 연결 재개를 더 잘 처리할 수 있기 때문일 것입니다.
DynamoDB가 한 자릿수 또는 두 자릿수 밀리초의 응답 시간으로 알려져 있기 때문에 DynamoDB에 비해 Amazon Aurora Serverless v2용 Data API의 웜 스타트(실행) 시간이 지속적으로 훨씬 더 높았습니다.
위 내용은 Java용 AWS SDK를 통한 Amazon Aurora Serverless용 데이터 API - 콜드 스타트와 웜 스타트 비교 부분: 데이터 API와 DynamoDB의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!