Anwendungskonfiguration
Netty Threads -> 2 * Prozessoren Anzahl der Client-Verbindungen -> ~ 5000
Pro Worker-Thread-Verbindungen -> ~50
Unten ist meine Analyse dazu.
- Spezifischer Worker-Thread Zugehörige Kanäle verzeichnen einen Anstieg des Datenverkehrs.
- Aufgrund des plötzlichen Anstiegs kann der Arbeitsthread die Anfrage nicht schneller verarbeiten, sondern fängt an zu drosseln, weil sich die Warteschlange mit
Anfragen stapelt - Andere Netty-Kanäle, die mit dem gleichen Arbeitsthread verknüpft sind, haben eine Zeitüberschreitung bei Anfragen und haben daher ein FIN-Signal zum Schließen gesendet.
- Da der Arbeitsthread bereits überlastet ist, konnte er den Socket nicht schließen, wodurch die Wartezeiten zunahmen auf dem System.
- Dies verursachte Druck auf das System, was zu einem Anstieg der CPU führte.
Und hier sind meine weiteren Fragen.
- Warum kann der Arbeitsthread den Socket-Kanal nicht schließen, wenn FIN vom Client gesendet wird?
- Warum sollte das so sein? Kurze Wartezeiten führen zu einem Anstieg der CPU-Auslastung.
Mobile version