Rumah> Java> javaTutorial> teks badan

Meningkatkan prestasi aplikasi Spring Boot - Bahagian I

王林
Lepaskan: 2024-08-22 12:33:43
asal
536 orang telah melayarinya

Melhorando o desempenho de aplicações Spring Boot - Parte I

Apabila memulakan aplikasi Spring Boot, kami biasanya menggunakan tetapan lalai yang disediakan oleh pemula, yang mencukupi untuk kebanyakan kes. Walau bagaimanapun, jika kami memerlukan prestasi, terdapat pelarasan khusus yang boleh dibuat, seperti yang akan ditunjukkan dalam bahagian pertama artikel ini.

MenggantikanTomcatdengan satu lagibekas servlet

Aplikasiweb,RESFul, yang menggunakanSpring MVC, secara amnya menambah kebergantungan spring-boot-starter-web, yang secara lalai menggunakan Tomcat sebagai pelayanweb. Walau bagaimanapun, terdapat alternatif yang lebih menarik, sepertiUndertow, iaitu pelayanwebberprestasi tinggi, dengan seni bina tak segerak dan tidak menyekat, yang membolehkan anda mengendalikan sejumlah besar sambungan serentak dengan cekap, menjadikannya sesuai untuk aplikasi berprestasi tinggi. Kami tidak mengatakanTomcatburuk, tetapi kami boleh memberi peluangUndertow.

MenambahUndertowdalamMusim Bunga

Untuk kita menggunakanUndertowsebagai pelayanweb, kita perlu mengabaikan kebergantungan spring-boot-starter-tomcat yang spring-boot-starter-web sudah tambah dan kemudian tambah spring-boot-starter-undertow.

Menggunakan pom.xml:

  org.springframework.boot spring-boot-starter-web   org.springframework.boot spring-boot-starter-tomcat     org.springframework.boot spring-boot-starter-undertow  
Salin selepas log masuk

Menggunakan build.gradle:

dependencies { implementation('org.springframework.boot:spring-boot-starter-web') { exclude group: 'org.springframework.boot', module: 'spring-boot-starter-tomcat' } implementation 'org.springframework.boot:spring-boot-starter-undertow' }
Salin selepas log masuk

Mengkonfigurasi undertow

Melalui application.properties atau application.yml, kami boleh mengkonfigurasi berapa banyakbenang IOdan berapa banyakbenang pekerjakami mahu pelayan digunakan.

Menggunakan application.yml

server: undertow: threads: io: 4 worker: 64
Salin selepas log masuk

Menggunakan application.properties

server.undertow.threads.io=4 server.undertow.threads.worker=64
Salin selepas log masuk

I/OBenangmelakukan operasi tidak menyekat dan tidak boleh melakukan operasi menyekat, kerana mereka bertanggungjawab untuk mendengar sambungan yang tiba dalam aplikasi, dan kemudian menghantarnya ke baris gilir pemprosesan. Nilai biasa ialah dua I/OBenangsetiap teras CPU.

benang pekerjamelaksanakan operasi menyekat, seperti permintaan Servlet yang dihantar ke baris gilir pemprosesan oleh I/OBenang. Nilai ideal bergantung pada beban kerja, tetapi biasanya disyorkan untuk mengkonfigurasi sekitar 10 utas bagi setiap teras CPU.

Untuk mendapatkan maklumat yang lebih terperinci dan lebih banyak pilihan yang boleh diterokai, hanya pergi ke dokumentasiUndertow.

Memampatkan respons HTTP

Mampatan data ialah ciri yang bertujuan untuk mengurangkan saiz badan respons HTTP, yang seterusnya boleh meningkatkan prestasi aplikasi kami dengan mengurangkan jumlah data yang dihantar melalui rangkaian.

Mengkonfigurasi pemampatan data dalam Spring Boot adalah tugas yang remeh, kerana ia menyokong fungsi ini.

Menggunakan application.yml

server: compression: enabled: true mime-types: text/html,text/xml,text/plain,text/css,text/javascript,application/javascript,application/json min-response-size: 1024
Salin selepas log masuk

Menggunakan application.properties

server.compression.enabled=true server.compression.mime-types=text/html,text/xml,text/plain,text/css,text/javascript,application/javascript,application/json server.compression.min-response-size=1024
Salin selepas log masuk

server.compression.enabled: Mendayakan/melumpuhkan pemampatan.
server.compression.mime-types: Senarai jenis MIME yang harus dimampatkan.
server.compression.min-response-size: Saiz minimum "Kandungan-Panjang" yang diperlukan untuk pemampatan dilakukan.

Dengan ini, kami menutup bahagian pertama artikel. Dalam bahagian seterusnya, kami akan mempelajari lebih lanjut tentang Hikari, JPA dan Hibernate serta mempelajari cara mengkonfigurasinya, untuk meningkatkan lagi prestasi aplikasi Spring Boot.

Atas ialah kandungan terperinci Meningkatkan prestasi aplikasi Spring Boot - Bahagian I. 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
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!