


So lösen Sie das Problem der maximalen Parallelität, die vom integrierten Tomcat von Springboot unterstützt wird
Der integrierte Tomcat von SpringBoot unterstützt die maximale Parallelität.
Der integrierte Tomcat von SpringBoot beträgt in den Standardeinstellungen 200 Threads und 10.000 Verbindungen. Standardmäßig beträgt die unterstützte Parallelität 10.000, was bedeutet, dass Tomcat zwei Modi für die Verarbeitung von Verbindungen hat: 1 ist BIO und ein Thread verarbeitet nur eine Socket-Verbindung. Ein Thread verarbeitet mehrere Socket-Verbindungen.
Ein einzelner Thread, der mehrere Verbindungen verarbeitet, stellt normalerweise kein allzu großes Problem dar, da HTTP-Anfragen nicht zu zeitaufwändig sind und mehrere Verbindungen normalerweise keine Nachrichten gleichzeitig senden. Ein Thread, der mehrere Verbindungen verarbeitet, ist sehr langsam und es kann zu einer Zeitüberschreitung kommen
Standardmäßige integrierte Tomcat-Konfiguration
server.tomcat.accept-count
: Warteschlangenlänge, wenn die Anzahl der Threads, die Wenn alle Anforderungen aufgebraucht sind, werden sie in die Warteschlange gestellt. Wenn die Warteschlange voll ist, wird die Verarbeitung abgelehnt.
server.tomcat.accept-count
:等待队列长度,当可分配的线程数全部用完之后,后续的请求将进入等待队列等待,等待队列满后则拒绝处理,默认100。server.tomcat.max-connections
:最大可被连接数,默认10000server.tomcat.max-threads
:最大工作线程数,默认200,-
server.tomcat.min-spare-threads
server.tomcat.max-threads
: Maximale Anzahl von Arbeitsthreads Der Standardwert ist 200 In der Standardkonfiguration kommt es zu einer Verbindungsverweigerung, nachdem die Anzahl der Verbindungen 10.000 überschreitet
server.tomcat.max-connections
: Maximale Anzahl von Verbindungen, Standard 10000Wir können auch die Konfigurationsdatei verwenden und die WebServerConfiguration hinzufügen. Java-Datei
server.port=7001 server.tomcat.accept-count=1000 server.tomcat.max-connections=10000 server.tomcat.max-threads=500 server.tomcat.min-spare-threads=100
Bemerkungen:
MySQL-Datenbank-QPS-Kapazitätsproblem:
Primärschlüsselabfrage: zig Millionen Daten == 1-10 ms
Einzigartige Indexabfrage: zig Millionen Daten = = 10-100 ms
Nicht eindeutige Indexabfrage: Dutzende Millionen Daten == 100-1000 ms
Keine Indexdaten: Daten auf Millionenebene == 1000 ms+
- MySQL-Datenbank-TPS-Kapazitätsproblem:
- Aktualisierungs- und Löschvorgang ohne Einfügen: Gleiche Abfrage
- Einfügevorgang: 1 W ~ 10 W tps (abhängig von der Konfigurationsoptimierung)
Mehrere Möglichkeiten zur Erhöhung der Parallelität von Tomcat 1. Apache + Tomcat wird kombiniert, um Apache für statische Seiten und Tomcat für dynamische Seiten zu verwenden. Gleichzeitig wird die ConnectionTimeout-Zeit reduziert, um den Fall zu bewältigen, dass die Parallelität zu groß ist und es zu spät für das Thread-Recycling ist.
- 2. Für das Problem des übermäßigen Drucks kann ein Lastausgleich durchgeführt werden, und wenn die JVM zu groß ist, steigen die Kosten für die Speicherverwaltung erheblich. Ein vernünftigerer und wissenschaftlicherer Ansatz besteht darin, 2 GB Speicher zu verwenden und 3 bis 4 TOMCAT-Instanzen mit jeweils 512 MB Speicher zu konfigurieren.
3. Viele Leute empfehlen die Verwendung von C3P0, was die gleichzeitige Leistung des Datenbankzugriffs um ein Vielfaches verbessern kann.
4. Die Verwendung eines Tomcat-Clusters kann die Leistung des Servers maximieren. Sie können mehrere Tomcats auf Servern mit höheren Konfigurationen bereitstellen oder Tomcats separat auf mehreren Servern bereitstellen. Es wurde bestätigt, dass im Hinblick auf die Reaktion des Systems auf eine große Anzahl von Benutzern der Apache+3Tomcat-Cluster > Und wenn Sie die Bereitstellungsmethode von Apache + mehreren Tomcat-Clustern verwenden, kann das System weiterhin verwendet werden, wenn ein Tomcat ausfällt. Daher müssen Sie die Leistung der Software maximieren, wenn die Leistung des Hardwaresystems überlegen ist. und Sie können die Methode zum Hinzufügen von Tomcat-Clustern verwenden. 1. Konfigurieren Sie MPM (Multi Processing Modules). ThreadPerChild wird verwendet, um die Anzahl der Threads für jeden Prozess festzulegen. In der Windows-Umgebung ist der Standardwert 64 und der Maximalwert ist 1920. Es wird empfohlen, ihn zwischen 100 und 500 festzulegen. Der Wert wird größer, andernfalls kleiner. Die maximale Anzahl von Anfragen, die jeder untergeordnete Prozess verarbeiten kann, wird durch den Parameter MaxRequestPerChild bestimmt. Der Wert dieses Parameters hängt eher vom Speicher des Servers ab. Wenn der Speicher relativ groß ist, stellen Sie einen kleineren Wert ein.
2 und Namensauflösung HostnameLookups aus
3. Schalten Sie das UseCanonicalName-Modul ein. mod_auth.so.
5. KeepAlive-Unterstützung aktivieren
KeepAlive an, KeepAliveTimeout 15 MaxKeepAliveRequests 1000
Laut tatsächlicher Erfahrung ist der Effekt der Verbesserung der Systemleistung durch Apache- und Tomcat-Cluster sehr offensichtlich Hardware-Ressourcen und deren gemeinsame Nutzung durch die Verarbeitung mehrerer Tomcats. Der Druck, wenn Tomcat allein verwendet wird.
Die maximale Anzahl der vom Webserver zugelassenen Verbindungen hängt auch von den Kernel-Parametereinstellungen des Betriebssystems ab. Normalerweise beträgt sie etwa 2.000 für Windows und etwa 1.000 für Linux.
Das obige ist der detaillierte Inhalt vonSo lösen Sie das Problem der maximalen Parallelität, die vom integrierten Tomcat von Springboot unterstützt wird. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



Um ein JAR-Projekt auf Tomcat bereitzustellen, führen Sie die folgenden Schritte aus: Laden Sie Tomcat herunter und entpacken Sie es. Konfigurieren Sie die Datei server.xml, legen Sie den Port und den Projektbereitstellungspfad fest. Kopiert die JAR-Datei in den angegebenen Bereitstellungspfad. Starten Sie Tomcat. Greifen Sie über die bereitgestellte URL auf das bereitgestellte Projekt zu.

Um dem Tomcat-Server den Zugriff auf das externe Netzwerk zu ermöglichen, müssen Sie Folgendes tun: Ändern Sie die Tomcat-Konfigurationsdatei, um externe Verbindungen zuzulassen. Fügen Sie eine Firewallregel hinzu, um den Zugriff auf den Tomcat-Server-Port zu ermöglichen. Erstellen Sie einen DNS-Eintrag, der den Domänennamen auf die öffentliche IP des Tomcat-Servers verweist. Optional: Verwenden Sie einen Reverse-Proxy, um Sicherheit und Leistung zu verbessern. Optional: Richten Sie HTTPS für mehr Sicherheit ein.

Tomcat-Installationsverzeichnis: Standardpfad: Windows: C:\Programme\Apache Software Foundation\Tomcat 9.0macOS:/Library/Tomcat/Tomcat 9.0Linux:/opt/tomcat/tomcat9 Benutzerdefinierter Pfad: Sie können ihn während der Installation angeben. Suchen Sie das Installationsverzeichnis: Verwenden Sie den Befehl „whereis“ oder „locate“.

Um mehrere Projekte über Tomcat bereitzustellen, müssen Sie für jedes Projekt ein Webapp-Verzeichnis erstellen und dann: Automatische Bereitstellung: Platzieren Sie das Webapp-Verzeichnis im Webapps-Verzeichnis von Tomcat. Manuelle Bereitstellung: Stellen Sie das Projekt manuell in der Manager-Anwendung von Tomcat bereit. Sobald das Projekt bereitgestellt ist, kann über seinen Bereitstellungsnamen darauf zugegriffen werden, zum Beispiel: http://localhost:8080/project1.

So überprüfen Sie die Anzahl gleichzeitiger Tomcat-Verbindungen: Besuchen Sie die Tomcat Manager-Seite (http://localhost:8080/manager/html) und geben Sie Ihren Benutzernamen und Ihr Passwort ein. Klicken Sie in der linken Navigationsleiste auf Status->Sitzungen, um oben auf der Seite die Anzahl der gleichzeitigen Verbindungen anzuzeigen.

Das Stammverzeichnis der Tomcat-Website befindet sich im Unterverzeichnis webapps von Tomcat und wird zum Speichern von Webanwendungsdateien und statischen Ressourcen verwendet. Das Verzeichnis WEB-INF kann durch Suchen nach dem docBase-Attribut in der Tomcat-Konfigurationsdatei gefunden werden.

Die Tomcat-Portnummer kann angezeigt werden, indem das Portattribut des <Connector>-Elements in der Datei server.xml überprüft wird. Besuchen Sie die Tomcat-Verwaltungsoberfläche (http://localhost:8080/manager/html) und sehen Sie sich die Registerkarte „Status“ an. Führen Sie „catalina.sh version“ über die Befehlszeile aus und sehen Sie sich die Zeile „Port:“ an.

Das Ausführen von Projekten mit unterschiedlichen Portnummern auf dem Tomcat-Server erfordert die folgenden Schritte: Ändern Sie die Datei server.xml und fügen Sie ein Connector-Element hinzu, um die Portnummer zu definieren. Fügen Sie ein Kontextelement hinzu, um die mit der Portnummer verknüpfte Anwendung zu definieren. Erstellen Sie eine WAR-Datei und stellen Sie sie im entsprechenden Verzeichnis bereit (webapps oder webapps/ROOT). Starten Sie Tomcat neu, um die Änderungen zu übernehmen.
