Rumah Tutorial sistem LINUX Analisis N cara untuk mengoptimumkan prestasi Tomcat

Analisis N cara untuk mengoptimumkan prestasi Tomcat

Jun 14, 2024 pm 09:10 PM
linux tutorial linux Topi Merah sistem linux arahan linux pensijilan linux linux topi merah video linux

Analisis N cara untuk mengoptimumkan prestasi Tomcat

Tomcat selalunya merupakan persekitaran pembangunan lalai untuk pengamal JavaWeb, tetapi konfigurasi lalai Tomcat sebagai persekitaran pengeluaran, terutamanya konfigurasi memori dan benang, secara lalai sangat rendah dan boleh menjadi kesesakan prestasi dengan mudah masih mempunyai banyak ciri Bilik untuk penambahbaikan Perkara berikut memperkenalkan pengoptimuman Tomcat, yang boleh dibahagikan kepada memori, benang dan IO.
Tomcat selalunya merupakan persekitaran pembangunan lalai untuk pengamal JavaWeb, tetapi konfigurasi lalai Tomcat sebagai persekitaran pengeluaran, terutamanya konfigurasi memori dan benang, adalah sangat rendah secara lalai dan boleh menjadi kesesakan prestasi dengan mudah.

Nasib baik, Tomcat masih mempunyai banyak ruang untuk penambahbaikan Perkara berikut akan memperkenalkan pengoptimuman Tomcat, yang boleh dibahagikan kepada ingatan, benang dan IO.

1: Pengoptimuman memori Tomcat, beritahu JVM bahawa saya mahukan memori yang besar semasa memulakan (penalaan memori adalah cara yang paling langsung)

catalina.bat di bawah Windows

catalina.sh di bawah Linux seperti:

JAVA_OPTS='-Xms256m -Xmx512m'  
Salin selepas log masuk

-Xms Saiz timbunan permulaan JVM

-Xmx Nilai maksimum timbunan JVM Saiz parameter sebenar adalah berdasarkan konfigurasi pelayan atau tetapan khusus projek.

2: Pengoptimuman benang Tomcat dalam server.xml seperti:

maxThreads="X" bermaksud memproses sehingga sambungan X pada masa yang sama

minSpareThreads="X" Mulakan sambungan X

maxSpareThreads="X" bermakna jika terdapat paling banyak benang X, sekali lebih daripada X, benang yang tidak diperlukan lagi akan ditutup

acceptCount="X" Apabila bilangan orang yang disambungkan pada masa yang sama mencapai maxThreads, anda masih boleh beratur, dan saiz baris gilir ialah X. Jika melebihi X, ia tidak akan diproses

Tiga: Pengoptimuman Tomcat IO

1: IO menyekat segerak (JAVA BIO) Penyegerakan dan penyekatan, mod pelaksanaan pelayan adalah satu sambungan satu utas (menakutkan untuk memikirkannya, benang adalah sumber yang sangat berharga), sudah tentu ia boleh diperbaiki melalui mekanisme kumpulan benang.

2: Java NIO: Ia dibahagikan kepada IO yang tidak menyekat, menyekat IO dan Bio

3: Asynchronous non-blocking IO (Java NIO2 juga dipanggil AIO. Perbezaan utama dengan NIO ialah perbezaan asas sistem operasi Ia boleh dibandingkan dengan penghantaran ekspres, anda perlu pergi ke laman web rasmi untuk menyemak sama ada penghantaran ekspres telah dihantar Apabila anda tiba (mungkin beberapa kali), anda boleh mengambil ekspres itu sendiri; AIO bermakna kurier akan menghantar barang ke pintu anda (anda tidak perlu membayar perhatian kepada kemajuan ekspres).

Kaedah BIO sesuai untuk seni bina dengan bilangan sambungan yang agak kecil dan tetap Kaedah ini mempunyai keperluan yang agak tinggi untuk sumber pelayan, dan concurrency adalah terhad kepada aplikasi sebelum JDK1.4, tetapi program ini adalah intuitif , ringkas dan mudah difahami.

Kaedah NIO sesuai untuk seni bina dengan bilangan sambungan yang banyak dan sambungan yang agak pendek (operasi ringan), seperti pelayan sembang terhad kepada aplikasi dan pengaturcaraan mula menyokongnya.

Kaedah AIO digunakan dalam seni bina dengan bilangan sambungan yang banyak dan sambungan yang agak panjang (operasi berat), seperti pelayan album foto Ia memanggil OS sepenuhnya untuk mengambil bahagian dalam operasi serentak Pengaturcaraan agak rumit, dan JDK7 mula melakukannya sokong la.

Dalam server.xml

Realisasikan penukaran IO untuk Tomcat.

Empat: APR Pembunuh Besar
APR是从操作系统级别来解决异步的IO问题,大幅度的提高性能. (http://apr.apache.org/).
Salin selepas log masuk
APR (Apache Portable Runtime) ialah perpustakaan yang sangat mudah alih, yang merupakan teras Apache HTTP Server 2.x Ia boleh disepadukan dengan lebih baik dengan teknologi web tempatan yang lain dan secara amnya menjadikan Java lebih cekap sebagai platform pelayan web berprestasi tinggi. Daripada hanya berfungsi sebagai bekas latar belakang.

Dalam persekitaran pengeluaran, terutamanya apabila menggunakan Tomcat secara langsung sebagai pelayan WEB, Tomcat Native harus digunakan untuk meningkatkan prestasinya Tanpa APR, pada dasarnya 300 utas akan penuh tidak lama lagi, dan permintaan akan datang perlu menunggu. bilangan utas serentak telah menurun dengan ketara, daripada 300 asal kepada hanya beberapa dozen, dan permintaan baharu akan masuk tanpa disekat.

Apabila diuji dalam persekitaran LAN, walaupun 400 permintaan serentak telah diproses/dihantarkan dalam sekelip mata Namun, dalam persekitaran Internet sebenar, masa pemprosesan halaman hanya menyumbang kurang daripada 0.1%, dan kebanyakan masa digunakan untuk penghantaran halaman. . Jika APR tidak digunakan, satu utas hanya boleh memproses satu pengguna pada satu masa, yang pasti akan menyebabkan penyekatan. Oleh itu, sangat perlu menggunakan apr dalam persekitaran pengeluaran.

Pasang Apache Tomcat Native Library dan sokongan apr (http://tomcat.apache.org/native-doc/) apabila dimulakan secara langsung. Untuk kaedah pemasangan tertentu, sila rujuk blog dan artikel lain masalah kod dan pengoptimuman Tomcat Pada tahap ini, kebanyakan keperluan prestasi boleh dipenuhi.

最后一句话"再牛B的服务器,也顶不住一个傻B的代码".优化的前提条件是良好的代码质量和设计.
Salin selepas log masuk

Atas ialah kandungan terperinci Analisis N cara untuk mengoptimumkan prestasi Tomcat. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Akan R.E.P.O. Ada Crossplay?
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Perbezaan antara centos dan ubuntu Perbezaan antara centos dan ubuntu Apr 14, 2025 pm 09:09 PM

Perbezaan utama antara CentOS dan Ubuntu adalah: asal (CentOS berasal dari Red Hat, untuk perusahaan; Ubuntu berasal dari Debian, untuk individu), pengurusan pakej (CentOS menggunakan yum, yang memberi tumpuan kepada kestabilan; Ubuntu menggunakan APT, untuk kekerapan yang tinggi) Pelbagai tutorial dan dokumen), kegunaan (CentOS berat sebelah ke arah pelayan, Ubuntu sesuai untuk pelayan dan desktop), perbezaan lain termasuk kesederhanaan pemasangan (CentOS adalah nipis)

Cara memasang centos Cara memasang centos Apr 14, 2025 pm 09:03 PM

Langkah Pemasangan CentOS: Muat turun Imej ISO dan Burn Bootable Media; boot dan pilih sumber pemasangan; Pilih susun atur bahasa dan papan kekunci; Konfigurasikan rangkaian; memisahkan cakera keras; Tetapkan jam sistem; Buat pengguna root; pilih pakej perisian; Mulakan pemasangan; Mulakan semula dan boot dari cakera keras selepas pemasangan selesai.

Pilihan Centos setelah menghentikan penyelenggaraan Pilihan Centos setelah menghentikan penyelenggaraan Apr 14, 2025 pm 08:51 PM

CentOS telah dihentikan, alternatif termasuk: 1. Rocky Linux (keserasian terbaik); 2. Almalinux (serasi dengan CentOS); 3. Ubuntu Server (Konfigurasi diperlukan); 4. Red Hat Enterprise Linux (versi komersial, lesen berbayar); 5. Oracle Linux (serasi dengan CentOS dan RHEL). Apabila berhijrah, pertimbangan adalah: keserasian, ketersediaan, sokongan, kos, dan sokongan komuniti.

Cara menggunakan desktop docker Cara menggunakan desktop docker Apr 15, 2025 am 11:45 AM

Bagaimana cara menggunakan desktop Docker? Docktop Docktop adalah alat untuk menjalankan bekas Docker pada mesin tempatan. Langkah -langkah untuk digunakan termasuk: 1. Pasang desktop Docker; 2. Mulakan desktop Docker; 3. Buat imej Docker (menggunakan Dockerfile); 4. Membina imej Docker (menggunakan Docker Build); 5. Jalankan bekas Docker (menggunakan Docker Run).

Penjelasan terperinci mengenai Prinsip Docker Penjelasan terperinci mengenai Prinsip Docker Apr 14, 2025 pm 11:57 PM

Docker menggunakan ciri -ciri kernel Linux untuk menyediakan persekitaran berjalan yang cekap dan terpencil. Prinsip kerjanya adalah seperti berikut: 1. Cermin digunakan sebagai templat baca sahaja, yang mengandungi semua yang anda perlukan untuk menjalankan aplikasi; 2. Sistem Fail Kesatuan (Unionfs) menyusun pelbagai sistem fail, hanya menyimpan perbezaan, menjimatkan ruang dan mempercepatkan; 3. Daemon menguruskan cermin dan bekas, dan pelanggan menggunakannya untuk interaksi; 4. Ruang nama dan cgroups melaksanakan pengasingan kontena dan batasan sumber; 5. Pelbagai mod rangkaian menyokong interkoneksi kontena. Hanya dengan memahami konsep -konsep teras ini, anda boleh menggunakan Docker dengan lebih baik.

Apa yang Harus Dilakukan Setelah CentOs Berhenti Penyelenggaraan Apa yang Harus Dilakukan Setelah CentOs Berhenti Penyelenggaraan Apr 14, 2025 pm 08:48 PM

Selepas CentOS dihentikan, pengguna boleh mengambil langkah -langkah berikut untuk menanganinya: Pilih pengedaran yang serasi: seperti Almalinux, Rocky Linux, dan CentOS Stream. Berhijrah ke pengagihan komersial: seperti Red Hat Enterprise Linux, Oracle Linux. Menaik taraf ke CentOS 9 Stream: Pengagihan Rolling, menyediakan teknologi terkini. Pilih pengagihan Linux yang lain: seperti Ubuntu, Debian. Menilai pilihan lain seperti bekas, mesin maya, atau platform awan.

Konfigurasi komputer apa yang diperlukan untuk vscode Konfigurasi komputer apa yang diperlukan untuk vscode Apr 15, 2025 pm 09:48 PM

Keperluan Sistem Kod Vs: Sistem Operasi: Windows 10 dan ke atas, MACOS 10.12 dan ke atas, pemproses pengedaran Linux: minimum 1.6 GHz, disyorkan 2.0 GHz dan ke atas memori: minimum 512 MB, disyorkan 4 GB dan ke atas ruang penyimpanan: minimum 250 mb, disyorkan 1 GB dan di atas keperluan lain:

Apakah teknologi asas yang digunakan oleh Docker? Apakah teknologi asas yang digunakan oleh Docker? Apr 15, 2025 am 07:09 AM

Docker menggunakan enjin kontena, format cermin, pemacu penyimpanan, model rangkaian, alat orkestrasi kontena, virtualisasi sistem operasi, dan pendaftaran kontena untuk menyokong keupayaan kontenanya, menyediakan penggunaan dan pengurusan aplikasi yang ringan, mudah alih dan automatik.

See all articles