Dalam artikel siri sebelumnya tentang cara menyambung ke Amazon Aurora Serverless v2 daripada fungsi Lambda dengan API Data dan AWS SDK untuk Java, kami melakukan pengukuran permulaan sejuk dan panas asas, berbanding permulaan sejuk dan hangat antara API Data dan JDBC dan kesan yang diukur dengan SnapStart dengan dan tanpa penyebuan.
Dalam bahagian siri ini, kami akan memperkenalkan strategi pengoptimuman untuk permulaan yang sejuk dan hangat.
Untuk mencari keseimbangan yang baik antara masa mula sejuk dan hangat, anda boleh mencuba teknik pengoptimuman yang diperkenalkan di bawah. Saya tidak melakukan sebarang pengukuran dengan mereka yang menggunakan API Data dan Amazon Aurora Serverless v2 dengan pangkalan data PostgreSQL tetapi dengan senario yang sama menggunakan pangkalan data DynamoDB sebaliknya. Saya akan memberikan rujukan kepada artikel saya yang berkaitan.
Ini ialah contoh menggunakan klien HTTP AWS CRT semasa membuat/membina RdsDataClient. Pelanggan URLConnection boleh ditetapkan sama.
RdsDataClient.builder().httpClient(AwsCrtHttpClient.create()).build()
Juga jangan lupa untuk memasukkan kebergantungan kepada klien HTTP yang digunakan pada pom.xml seperti ini:
<dependency> <groupId>software.amazon.awssdk</groupId> <artifactId>aws-crt-client</artifactId> </dependency>
Lihat artikel saya Mengukur sejuk dan hangat bermula dengan Java 21 menggunakan klien HTTP segerak yang berbeza untuk penjelasan, contoh kod dan ukuran dengan DynamoDB.
Ini ialah contoh menggunakan klien HTTP AWS CRT tak segerak semasa mencipta/membina RdsDataAsyncClient (yang perlu kami bina sekiranya menggunakan Pelanggan HTTP tak segerak).
RdsDataAsyncClient.builder().httpClient(AwsCrtAsyncHttpClient.create()).build()
Juga jangan lupa untuk memasukkan kebergantungan kepada klien HTTP yang digunakan pada pom.xml seperti ini:
<dependency> <groupId>software.amazon.awssdk</groupId> <artifactId>aws-crt-client</artifactId> </dependency>
Dalam kes ini, kita perlu menggunakan model pengaturcaraan tak segerak Java (yang merupakan topik perbincangan sendiri) dan oleh itu setiap permohonan kaedah pada RDSDataAsyncClient akan mengembalikan objek Java CompletableFuture. Lihat artikel saya Mengukur sejuk dan hangat bermula dengan Java 21 menggunakan klien HTTP tak segerak yang berbeza untuk penjelasan, contoh kod dan ukuran dengan DynamoDB.
Untuk semua strategi pengoptimuman yang berpotensi, anda boleh mendayakan SnapStart pada fungsi Lambda dan juga mengukur kesan penyebuan invokasi DynamoDB seperti yang diterangkan dalam artikel sebelumnya Data API memenuhi SnapStart siri.
Juga ambil perhatian tentang kesan cache bertingkat syot kilat pada permulaan sejuk yang saya terangkan dalam artikel saya. Memandangkan saya selalu menyediakan ukuran permulaan sejuk untuk pertama 100 permulaan sejuk selepas menggunakan versi baharu fungsi Lambda. Dengan cache berperingkat digunakan, saya mengukur dan menerangkan bahawa permulaan sejuk berkurangan dengan ketara dengan lebih banyak seruan berikutnya. Selepas jumlah seruan tertentu, ia kekal malar untuk versi Lambda tertentu.
Dalam artikel ini kami menyediakan strategi pengoptimuman untuk permulaan sejuk dan hangat menggunakan API Data untuk Amazon Aurora Tanpa Pelayan v2 dengan AWS SDK untuk Java yang boleh anda terokai untuk mengetahui prestasi terbaik untuk kes penggunaan anda sendiri.
Atas ialah kandungan terperinci API Data untuk Amazon Aurora Tanpa Pelayan dengan AWS SDK untuk Java - Sebahagian strategi pengoptimuman untuk permulaan yang sejuk dan hangat. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!