Zum Inhalt springen
_CORE
KI & Agentensysteme Unternehmensinformationssysteme Cloud & Platform Engineering Datenplattform & Integration Sicherheit & Compliance QA, Testing & Observability IoT, Automatisierung & Robotik Mobile & Digitale Produkte Banken & Finanzen Versicherungen Öffentliche Verwaltung Verteidigung & Sicherheit Gesundheitswesen Energie & Versorgung Telko & Medien Industrie & Fertigung Logistik & E-Commerce Retail & Treueprogramme
Referenzen Technologien Blog Know-how Tools
Über uns Zusammenarbeit Karriere
CS EN DE
Lassen Sie uns sprechen

Apache Tomcat Tuning für hohe Last

26. 02. 2013 1 Min. Lesezeit CORE SYSTEMSinfrastructure
Apache Tomcat Tuning für hohe Last

Apache Tomcat mit Standardeinstellungen kann Dutzende gleichzeitiger Benutzer bewältigen. Für Hunderte und Tausende brauchen Sie Tuning. Hier sind unsere Erfahrungen mit Tomcat 7 unter hoher Last.

Connector — NIO vs. BIO

Der Standard-BIO-Connector (Blocking I/O) allokiert einen Thread pro Verbindung. Bei 200 gleichzeitigen Verbindungen = 200 Threads. Der NIO-Connector (Non-Blocking I/O) bewältigt Tausende von Verbindungen mit Dutzenden von Threads. Für Produktionsserver immer NIO verwenden: protocol=org.apache.coyote.http11.Http11NioProtocol.

Thread Pool

maxThreads: maximale Anzahl von Threads für die Verarbeitung von Requests. Für NIO: 150–300 je nach Last. acceptCount: Warteschlange der Requests, die auf einen Thread warten — wenn voll, gibt der Server 503 zurück. minSpareThreads: minimale Anzahl vorgewärmter Threads.

Keep-Alive

HTTP Keep-Alive hält die Verbindung für mehrere Requests offen. Reduziert den TCP-Handshake-Overhead. maxKeepAliveRequests=100, keepAliveTimeout=15000 ms. In einer lastverteilten Umgebung kann aggressives Keep-Alive kontraproduktiv sein.

Komprimierung

compression=on, compressionMinSize=2048, compressibleMimeType für text/html, text/css, application/javascript. Spart Bandbreite auf Kosten der CPU. Für statische Dateien ist es besser, sie vorab auf der Festplatte zu komprimieren.

Access Log

Aktivieren Sie das Access Log mit dem Response-Time-Pattern (%D). Die Analyse des Access Logs deckt langsame Requests auf, die JMX-Metriken nicht erfassen.

Zusammenfassung

NIO-Connector, korrekt konfigurierter Thread Pool, Keep-Alive und Komprimierung. Messen Sie vor und nach jeder Änderung — Tuning ohne Benchmarks ist nur Raten.

tomcattuningperformancejava
Teilen:

CORE SYSTEMS

Wir bauen Kernsysteme und KI-Agenten, die den Betrieb am Laufen halten. 15 Jahre Erfahrung mit Enterprise-IT.

Brauchen Sie Hilfe bei der Implementierung?

Unsere Experten helfen Ihnen bei Design, Implementierung und Betrieb. Von der Architektur bis zur Produktion.

Kontaktieren Sie uns