Mam aplikację WWW Java/Java EE wdrożoną na serwerze Tomcat 5.5.17. Chcę poznać liczbę klientów podłączonych do serwera. Jak możemy to odkryć?Sprawdź liczbę połączeń z serwerem Tomcat
Odpowiedz
Najbardziej niezawodny sposób na poszukiwanie ip.addr.of.srv:port
w netstat
. Oto przykład na bazie Windows (sorry, nie Linux guru tutaj;))
netstat -np tcp | find "12.34.56.78:80"
Wymień 12.34.56.78
przez IP gdzie Tomcat nasłuchuje na porcie i 80
przez gdzie Tomcat nasłuchuje.
To nie jest problem programistyczny, dlatego zagłosowałem za przeniesieniem tego pytania na serverfault.com.
Używam Apache Geronimo i wyświetla w konsoli internetowej liczbę bieżących zajętych wątków (nie sesji), dzięki czemu można je programować. Dla twojego rozwiązania powinieneś mieć netstat -np tcp | znajdź "12.34.56.78:80" | znajdź "ESTABLISHED", więc nie dołączaj stanów nieudanych, takich jak FIN_WAIT, SYN_SENT itp. – ericp
count (wątki)! = count (połączenia). Mogą istnieć środki do tworzenia wątków i/lub wątków używanych do innych celów (demonów, zadań tła, czyszczenia itd.). Co do twoich sugestii netstat, to ma więcej sensu. – BalusC
Dokonałem tego w CentOS przy użyciu '' '' netstat -an | grep: 80 | wc -l'''' jak opisano w tym [artykule] (https://www.exchangecore.com/blog/find-number-active-connections-linux-using-netstat/) – AntonioOtero
Zobacz przykład pod numerem Tomcat Manager dla zliczenia sesji w aplikacji internetowej.
Zliczanie liczby połączeń jest prawdopodobnie nieco trudniejsze. Tomcat uruchamia nowy wątek dla każdego żądania przychodzącego do maksimum "maxProcessors". Poza tym numerem, żądania są ustawiane w kolejce do maksimum "acceptCount". Prośby wykraczające poza tę liczbę są odrzucane/odrzucane (lub zawieszane, nie jestem pewien). Właściwości można monitorować za pomocą urządzenia JConsole - steps here. Specyficzne właściwości wymienione powyżej są właściwościami HTTP Connector.
EDIT 1: Po pominie kodu źródłowego CoyoteConnector i AJP Connector, jest własnością prywatną nazywa curProcessors który śledzi liczbę procesorów w użyciu. Jednak dodanie zmiennej curProcessors do pliku mbeans dla konektorów nie wydaje się wyświetlać bieżącej wartości na ekranie JConsole.
Uwaga: Plik XML mbeans, który zmodyfikowałem, znajdował się w tomcat \ server \ lib \ catalina.jar i znajduje się w katalogu org \ apache \ catalina \ connector w słoiku. Poniżej znajduje się przykład wpisu, który dodałem: <attribute name="curProcessors" description="the number of processors currently in use" type="int"/>
Czy możesz mi powiedzieć, jaka jest różnica między liczbą sesji a liczbą połączeń? Myślę, że muszę znać liczbę połączeń z serwerem tomcat. – Thunderhashy
Cytuję z sesji API docs- Sesja - umożliwia identyfikację użytkownika w więcej niż jednym żądaniu strony lub odwiedzeniu witryny sieci Web oraz przechowywanie informacji o tym użytkowniku. Sesja trwa przez określony czas, na więcej niż jedno połączenie użytkownika lub na żądanie użytkownika. Zasadniczo użytkownik może mieć 1 sesję i wiele połączeń dla różnych żądań. Lub, jeśli weźmiesz pod uwagę stronę, która ładuje różne sekcje za pomocą żądań AJAX, ładowanie każdej sekcji spowoduje utworzenie innego połączenia z serwerem podczas korzystania z tej samej sesji (jeśli taka jest). – Thimmayya
A jeśli chcesz dowiedzieć się, co każdy gra robi, użyj tego na linux
netstat -an | grep :8080 | awk '{print $6}'
Jeśli istnieją trzy połączenia, widać
POSŁUCHAJ TIME_WAIT TIME_WAIT
Jeśli chcesz policzyć tylko połączenia w stanie TIME_WAIT:
netstat -an | grep :8080 | grep TIME_WAIT | wc -l
- 1. Sprawdź bieżącą liczbę połączeń do MongoDb
- 2. Używanie apache tomcat z serwerem wampirów
- 3. policzyć liczbę połączeń klauzuli
- 4. Jak znaleźć liczbę równoczesnych połączeń SQL Server
- 5. Tomcat Java NIO z jednoczesnych połączeń klienckich powolny TCP
- 6. OpenSSL konfiguruje maksymalną liczbę połączeń
- 7. pyodbc.connect Timeout argumentem jest ignorowany dla połączeń z serwerem SQL
- 8. Jak określić liczbę połączeń wymaganych w puli połączeń?
- 9. Sprawdź liczbę wierszy w CodeIgniter
- 10. Nginx: Ogranicz liczbę równoczesnych połączeń dla IP do backendu
- 11. Jak określić najlepszą liczbę wątków w Tomcat?
- 12. Wnioski z wielu połączeń
- 13. Maksymalna liczba połączeń na hoście z twisted.web.client.Agent
- 14. spada połączeń z tcp_tw_recycle
- 15. Sprawdź liczbę parametrów przekazanych w funkcji Python
- 16. Połączenie z serwerem SQL localdb JDBC
- 17. Prawą kwerendę, aby uzyskać aktualną liczbę połączeń w PostgreSQL DB
- 18. nodejs - Dlaczego Node.js może obsłużyć dużą liczbę jednoczesnych połączeń trwałych?
- 19. Jak korzystać z puli połączeń z java, MySQL i Tomcat 6
- 20. Jak zwiększyć liczbę wątków w puli wątków tomcat?
- 21. Różnica między serwerem WWW, serwerem aplikacji i serwerem bazy danych
- 22. Wiele połączeń z gniazdami
- 23. Funkcje połączeń z re.sub
- 24. YeSQL z pulą połączeń?
- 25. rozszerzenie Lua: sprawdź liczbę parametrów przekazanych do funkcji
- 26. nginx z konfiguracji Tomcat
- 27. Pula połączeń JDBC zgodna z App Engine
- 28. "odmowa połączenia" z serwerem Celery
- 29. Docker z wbudowanym serwerem php
- 30. Błąd z serwerem rabbit-mq
Co masz na myśli mówiąc "połączony"? O ile nie "utrzymasz ich przy życiu", połączenia HTTP nie są trwałe. –