Rumah  >  Artikel  >  Java  >  Fungsi Lambda menggunakan Docker Container Image -Bahagian yang memastikan permulaan sejuk dan hangat fungsi Lambda dengan Java ( masa jalan

Fungsi Lambda menggunakan Docker Container Image -Bahagian yang memastikan permulaan sejuk dan hangat fungsi Lambda dengan Java ( masa jalan

WBOY
WBOYasal
2024-09-03 10:48:54308semak imbas

Lambda function using Docker Container Image -Part easuring cold and warm starts of Lambda function with Java ( runtime

pengenalan

Dalam artikel pertama siri kecil kami, kami meneroka cara untuk membangunkan dan menggunakan fungsi Lambda menggunakan Docker Container Image dan masa jalan Java. Kami meneroka 2 kes penggunaan:

  • Imej bekas Docker pangkalan AWS Lambda
  • Imej asas AWS OS sahaja

Dalam artikel ini, kita akan mengukur permulaan sejuk dan panas bagi fungsi Lambda menggunakan pendekatan ini imej bekas Docker asas AWS Lambda.

Mengukur permulaan fungsi Lambda yang sejuk dan hangat menggunakan imej bekas Docker asas Lambda AWS dan masa jalan Java (21)

Untuk pengukuran kami, kami akan menggunakan aplikasi sampel kami dari bahagian pertama dan menggunakan masa jalan Java 21 untuk fungsi Lambda kami. Untuk semua fungsi Lambda, kami memberikan memori 1024 MB dan menggunakan JAVA_TOOL_OPTIONS: "-XX:+TieredCompilation -XX:TieredStopAtLevel=1" kerana pilihan kompilasi ini menyediakan perdagangan yang sangat baik antara masa mula yang sejuk dan hangat.

Keputusan percubaan di bawah adalah berdasarkan penghasilan semula lebih daripada 100 permulaan sejuk dan kira-kira 100,000 permulaan hangat untuk tempoh 1 jam dengan fungsi Lambda GetProductByIdWithPureJava21GraalVMNativeImageLambda yang dipetakan ke pengelasan pengendali Java Lambda yang bertanggungjawab untuk retedrie dalam DynamoDB) oleh id. Untuk itu saya menggunakan alat ujian beban hey, tetapi anda boleh menggunakan apa sahaja alat yang anda mahu, seperti Serverless-artillery atau Postman.

Masa mula sejuk (c) dan hangat (m) dalam ms:

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
3093.26 3219.44 3314.12 4632.16 6513.35 6517.71 5.47 6.20 7.39 17.14 43.03 1386.07

Kesimpulan

Dalam artikel ini, kami mengukur masa mula sejuk dan panas bagi fungsi Lambda menggunakan pendekatan imej bekas Docker asas AWS Lambda ini. Kami mengalami permulaan sejuk yang agak ketara dan masa mula panas yang agak kompetitif berbanding dengan Mengukur permulaan sejuk dan hangat dengan Java 21 menggunakan tetapan memori Lambda yang berbeza untuk Lambda dengan memori 1024 MB dan masa jalan terurus Lambda Java 21.

AWS Lambda SnapStart yang mengurangkan masa mula sejuk dengan ketara pada masa ini hanya tersedia untuk masa jalan terurus Java Corretto (11, 17 dan 21) dan bukan untuk imej bekas Docker. Anda boleh meneroka alat jlink untuk memasang dan mengoptimumkan satu set modul dan kebergantungannya kepada imej masa jalan tersuai yang lebih kecil dan Perkongsian data Kelas (CDS) walaupun yang membantu mengurangkan masa permulaan untuk aplikasi bahasa pengaturcaraan Java, khususnya aplikasi yang lebih kecil, serta mengurangkan jejak. Kelebihan menggunakan Imej Docker sebagai artifak penggunaan untuk Java ialah keupayaan untuk menggunakan masa jalan Java terkini seperti Java 22 (Java 23 akan dikeluarkan pada September 2024).

Atas ialah kandungan terperinci Fungsi Lambda menggunakan Docker Container Image -Bahagian yang memastikan permulaan sejuk dan hangat fungsi Lambda dengan Java ( masa jalan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn