기사 시리즈 2부에서는 GraalVM 21 런타임과 함께 GraalVM 네이티브 이미지가 포함된 사용자 정의 런타임을 사용하여 순수 Lambda 기능(Spring Boot 3과 같은 프레임워크를 사용하지 않고)을 개발하고 배포하는 방법을 살펴보았고 3부에서는 이 접근 방식을 사용하여 1024MB 메모리를 갖춘 Lambda 함수의 성능(콜드 및 웜 시작 시간).
이 기사에서는 256MB에서 1536MB 사이의 다양한 메모리 설정을 사용하여 Lambda의 콜드 시작과 웜 시작을 측정하여 비용과 성능 간의 균형을 살펴보겠습니다.
이 기사 시리즈의 3부에 설명된 것과 똑같은 실험을 다시 사용하지만 메모리 설정은 256MB에서 1536MB 사이로 다릅니다.
실험 결과는 다음과 같습니다.
콜드(c) 및 웜(m) 시작 시간(ms):
Memory setting | 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 |
---|---|---|---|---|---|---|---|---|---|---|---|---|
256 MB | 822.74 | 833.50 | 845.25 | 923.88 | 952.96 | 953.84 | 4.04 | 4.59 | 5.47 | 18.55 | 137.10 | 471.76 |
512 MB | 620.04 | 621.40 | 657.70 | 705.37 | 727.57 | 727.97 | 4.16 | 4.65 | 5.46 | 14.32 | 64.54 | 229.29 |
768 MB | 561.63 | 574.11 | 589.82 | 628.15 | 633.83 | 634.23 | 4.23 | 4.73 | 5.55 | 13.01 | 42.31 | 203.22 |
1024 MB | 525.77 | 532.12 | 542.32 | 632.56 | 635.73 | 636.11 | 4.16 | 4.69 | 5.46 | 12.30 | 37.25 | 211.83 |
1280 MB | 515.37 | 524.20 | 539.08 | 577.57 | 624.39 | 624.52 | 4.23 | 4.77 | 5.64 | 12.80 | 34.67 | 126.97 |
1536 MB | 504.16 | 516.40 | 528.93 | 548.86 | 628.15 | 628.31 | 4.26 | 4.73 | 5.55 | 12.70 | 44.03 | 105.46 |
이 기사에서는 GraalVM 21 런타임과 함께 GraalVM 네이티브 이미지가 포함된 사용자 지정 런타임을 사용하여 메모리 설정이 256~1536MB인 순수 Lambda 함수의 콜드 및 웜 시작을 측정했습니다.
웜 스타트 시간은 256MB 또는 512MB와 같은 낮은 메모리 설정에서도 서로 매우 가깝고 높은 백분위수(>= p90)에서 주로 차이가 나타납니다. 콜드 스타트 시간은 256MB와 512MB에서 매우 높으며 768MB부터 시작하면 1024MB보다 큰 메모리에 대해 눈에 띄는 차이 없이 Lambda에 더 많은 메모리를 제공하여 약간만 감소합니다. 성능 요구 사항에 따라 샘플 애플리케이션에서 처음 제공한 것처럼 Lambda에 1024MB보다 적은 메모리를 제공할 수 있으며 768MB 또는 약간 적은 메모리로 가격 대비 성능이 매우 좋습니다.
게시 당시 최신 버전도 사용할 수 있게 되었기 때문에(예: GraalVM 23 런타임) 버전을 변경하고 시리즈 2부의 지침에 따라 GraalVM 네이티브 이미지를 다시 컴파일한 후 성능을 다시 측정하세요. .
위 내용은 GraalVM 네이티브 이미지를 사용한 Lambda 함수 - 다양한 Lambda 메모리 설정을 사용하여 콜드 및 웜 스타트를 측정하는 부분의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!