Rumah > Java > javaTutorial > teks badan

API Data untuk Amazon Aurora Tanpa Pelayan dengan AWS SDK untuk Java - Sebahagian strategi pengoptimuman untuk permulaan yang sejuk dan hangat

王林
Lepaskan: 2024-07-16 15:22:43
asal
893 orang telah melayarinya

Data API for Amazon Aurora Serverless vith AWS SDK for Java - Part ptimization strategies for the cold and warm starts

pengenalan

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.

Strategi pengoptimuman untuk permulaan 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.

  • Cuba tetapan memori Lambda yang berbeza. Semua ukuran sehingga kini telah dilakukan dengan memori 1024 MB untuk fungsi Lambda. Dengan tetapan memori yang berbeza, anda mungkin menjadi prestasi yang lebih baik untuk harga yang wajar. Lihat artikel saya Mengukur permulaan sejuk dan hangat serta masa penggunaan dengan Java 21 menggunakan tetapan memori Lambda yang berbeza untuk penjelasan ukuran dengan DynamoDB.
  • Cuba pilihan kompilasi Java yang berbeza untuk fungsi Lambda. Semua ukuran sehingga kini telah dilakukan dengan pilihan kompilasi "-XX:+TieredCompilation -XX:TieredStopAtLevel=1" untuk fungsi Lambda. Terdapat lebih banyak pilihan lain yang boleh diberikan kepada fungsi Lambda menggunakan pembolehubah persekitaran yang dipanggil JAVA_TOOL_OPTIONS yang boleh mempunyai pertukaran permulaan sejuk dan hangat yang berbeza. Lihat artikel saya Mengukur sejuk dan hangat bermula dengan Java 21 menggunakan pilihan kompilasi berbeza untuk penjelasan ukuran dengan DynamoDB.
  • Cuba klien HTTP segerak yang berbeza untuk mewujudkan sambungan HTTP ke pangkalan data melalui API Data. Semua ukuran sehingga kini telah dilakukan dengan Klien HTTP segerak lalai iaitu Apache. Terdapat pilihan lain seperti pelanggan UrlConnection dan AWS CRT HTTP yang menyediakan pertukaran prestasi berbeza untuk permulaan yang sejuk dan hangat.

Ini ialah contoh menggunakan klien HTTP AWS CRT semasa membuat/membina RdsDataClient. Pelanggan URLConnection boleh ditetapkan sama.

RdsDataClient.builder().httpClient(AwsCrtHttpClient.create()).build()
Salin selepas log masuk

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>
Salin selepas log masuk
Salin selepas log masuk

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.

  • Teroka sama ada klien HTTP tak segerak untuk API Data ialah pilihan untuk kes penggunaan anda. Pelanggan HTTP tak segerak lalai ialah NettyNio. Terdapat pilihan lain klien HTTP async AWS CRT yang menyediakan pertukaran prestasi berbeza untuk permulaan yang sejuk dan hangat.

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()
Salin selepas log masuk

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>
Salin selepas log masuk
Salin selepas log masuk

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.

Kesimpulan

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!

sumber:dev.to
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!