Ermitteln Sie die Anzahl der Verbindungen zum Tomcat-Server

8

Ich habe eine Java / Java EE-Webanwendung auf Tomcat Server 5.5.17 implementiert. Ich möchte die Anzahl der Clients wissen, die mit dem Server verbunden sind. Wie können wir es herausfinden?

    
Thunderhashy 05.02.2010, 19:12
quelle

3 Antworten

16

Der zuverlässigste Weg wäre, nach ip.addr.of.srv:port in netstat zu suchen. Hier ist das Windows-basierte Beispiel (sorry, hier kein Linux-Guru;))

%Vor%

Ersetze 12.34.56.78 durch IP, wo Tomcat hört und 80 nach Port, wo Tomcat zuhört.

Das ist eigentlich kein Programmierproblem, daher habe ich dafür gestimmt, diese Frage zu serverfault.com zu migrieren.

    
BalusC 06.02.2010, 02:31
quelle
2

Im Abschnitt Tomcat Manager finden Sie ein Beispiel für das Zählen die Sitzungen in einer Webanwendung.

Die Anzahl der Verbindungen zu zählen ist wahrscheinlich ein bisschen schwieriger. Tomcat startet einen neuen Thread für jede Anfrage bis zu einem Maximum von "maxProcessors". Jenseits dieser Nummer werden die Anfragen bis zu einem Maximum von "acceptCount" in die Warteschlange gestellt. Anfragen, die über diese Nummer hinausgehen, werden abgelehnt / fallengelassen (oder stürzen ab, ich bin mir nicht sicher). Die Eigenschaften können mithilfe einer JConsole - Schritte hier überwacht werden. Die oben genannten spezifischen Eigenschaften sind Eigenschaften des HTTP-Connectors .

EDIT 1: Nach dem Durchsehen des Quellcodes von CoyoteConnector und AJP Connector gibt es eine private Eigenschaft namens curProcessors, die die Anzahl der aktuell verwendeten Prozessoren verfolgt. Das Hinzufügen der curProcessors-Variablen zur mbeans-Datei für Connectors scheint jedoch nicht den aktuellen Wert in der JConsole-Anzeige anzuzeigen.
Hinweis: Die XML-Datei mbeans, die ich geändert habe, befand sich in tomcat \ server \ lib \ catalina.jar und befindet sich im Verzeichnis org \ apache \ catalina \ connector im Jar. Unten ist ein Beispiel für den Eintrag, den ich hinzugefügt habe:
<attribute name="curProcessors" description="the number of processors currently in use" type="int"/>

    
Thimmayya 05.02.2010 22:12
quelle
2

Und wenn Sie herausfinden müssen, was jede Verbindung macht, verwenden Sie dies für Linux

%Vor%

Wenn drei Verbindungen bestehen, sehen Sie

HÖREN ZEIT WARTET TIME_WAIT

Und wenn Sie nur Verbindungen zählen möchten, die sich im TIME_WAIT-Zustand befinden

%Vor%     
vsingh 24.05.2016 15:59
quelle

Tags und Links