최상위 문을 사용하는 AWS Lambda .NET의 기본 성능
5783 단어 awsserverlessdotnet
최소 최상위 Lambda 함수
MinimalTopLevel project은 스트림을 받아 빈 응답을 반환하는 Lambda 함수를 정의했습니다. 비즈니스 로직이 없으며 필수 라이브러리만 포함합니다. 페이로드의 역직렬화도 없습니다. 오버헤드가 가장 적은 최상위 문을 사용하는 Lambda 함수입니다.
using Amazon.Lambda.Core;
using Amazon.Lambda.RuntimeSupport;
using Amazon.Lambda.Serialization.SystemTextJson;
await LambdaBootstrapBuilder.Create(Handler, new DefaultLambdaJsonSerializer())
.Build()
.RunAsync();
Task Handler(Stream request, ILambdaContext context)
=> Task.CompletedTask;
x86-64의 .NET 6에 대한 벤치마크 데이터
다시 한 번, INIT 단계의 기간은 3,008MB 임계값을 초과할 때까지 영향을 받지 않으며 이로 인해 비용도 증가합니다.
그러나 에 비해 이 Lambda 함수는 콜드 스타트 기간이 20%~100% 더 깁니다.
메모리 크기
초기화
감기 사용
총 콜드 스타트
사용된 총 웜(100)
비용(µ$)
128MB
235.420
1,484.898
1,720.318
367.174
24.05849
256MB
236.617
744.375
980.992
151.328
23.93210
512MB
236.002
353.587
589.589
120.821
24.15341
1024MB
238.403
163.425
401.828
115.392
24.84696
1769MB
234.304
96.894
331.198
115.843
26.32520
5120MB
216.870
92.632
309.502
117.367
37.69996
Fullsize Image
Fullsize Image
최소 콜드 스타트 기간
다행히 최소 콜드 스타트 기간에 대한 최적의 구성을 살펴보면 상황이 상당히 개선됩니다. 최상위 문을 사용하면 일부 오버헤드가 INIT 단계에서 첫 번째 INVOKE 단계로 이동하지만 그렇지 않은 경우 총 기간은 .
건축물
메모리 크기
계층
레디투런
PreJIT
초기화
감기 사용
총 콜드 스타트
암64
5120MB
예
예
아니요
178.743
70.947
249.690
x86_64
5120MB
예
아니요
아니요
190.382
67.500
257.882
x86_64
1769MB
예
예
아니요
189.152
58.625
247.777
x86_64
5120MB
예
예
아니요
176.368
57.039
233.407
Fullsize Image
최소 실행 비용
다시 말하지만 ARM64 아키텍처는 가장 비용 효율적인 접근 방식입니다. ReadyToRun, Tiered Compilation 및 PreJIT 설정은 모두 최소 최상위 프로젝트의 비용을 조금 더 줄이는 데 기여합니다. 즉, 최소 실행 비용은 최상위 명령문을 사용할 때 ~8.5% 더 높습니다. 이러한 비용 증가는 INIT 및 첫 번째 INVOKE 단계의 증가된 오버헤드를 보상하는 데 필요한 더 높은 메모리 구성 때문일 가능성이 큽니다.
건축물
메모리 크기
계층
레디투런
PreJIT
초기화
감기 사용
사용된 총 웜(100)
비용(µ$)
암64
1024MB
아니요
예
아니요
234.381
168.534
122.581
24.08155
암64
1024MB
아니요
예
예
252.593
167.558
124.272
24.09109
암64
1024MB
예
예
아니요
202.952
124.406
152.314
23.88962
암64
1024MB
예
예
예
218.905
118.831
152.727
23.82079
Fullsize Image
무엇 향후 계획
.NET 함수용 AWS Lambda의 기본 사항에 대해 알아가는 것이 즐거웠습니다. 이 게시물은 탐색하기에 흥미로울 수 있는 향후 프로젝트에 대한 내 발견과 생각을 요약한 것입니다.
Reference
이 문제에 관하여(최상위 문을 사용하는 AWS Lambda .NET의 기본 성능), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/lambdasharp/baseline-performance-for-aws-lambda-net-using-top-level-statements-bi9텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)