У меня есть веб-приложение Java/Java EE, развернутое на Tomcat Server 5.5.17. Я хочу знать количество клиентов, подключенных к серверу. Как мы можем это узнать?Узнайте количество подключений к серверу tomcat
ответ
Наиболее надежным способом будет искать ip.addr.of.srv:port
в netstat
. Вот пример, основанный для Windows (к сожалению, не Linux гуру здесь;))
netstat -np tcp | find "12.34.56.78:80"
Заменить 12.34.56.78
по IP, где Tomcat прослушивает и 80
портом, где Tomcat прослушивает.
Это на самом деле не проблема программирования, поэтому я проголосовал за перенос этого вопроса на serverfault.com.
Я использую Apache Geronimo и отображает на веб-консоли количество текущих занятых потоков (а не сеансов), поэтому он программируется. Для вашего решения вы должны иметь netstat -np tcp | найти "12.34.56.78:80" | найдите «ESTABLISHED», чтобы вы не включали незафиксированные состояния, такие как FIN_WAIT, SYN_SENT и т. д. – ericp
count (threads)! = count (connections). Могут существовать средства threadpool и/или потоков, используемые для других целей (демоны, фоновые задачи, очистка и т. Д.). Что касается ваших предложений netstat, это имеет смысл. – BalusC
Я сделал это в CentOS с '' '' netstat -an | grep: 80 | wc -l'''', как описано в этой статье [https://www.exchangecore.com/blog/find-number-active-connections-linux-using-netstat/) – AntonioOtero
См. Раздел под номером Tomcat Manager для примера подсчета сеансов в webapp.
Подсчет количества подключений, вероятно, немного сложнее. Tomcat запускает новый поток для каждого запроса, поступающего до максимума «maxProcessors». Помимо этого числа, запросы ставятся в очередь до максимума «acceptCount». Запросы за пределами этого числа отклоняются/удаляются (или сбой, я не уверен). Свойства можно отслеживать с помощью JConsole - steps here. Специфические свойства, упомянутые выше, являются свойствами HTTP Connector.
EDIT 1: После просмотра исходного кода CoyoteConnector и AJP Connector существует частное свойство curProcessors, которое отслеживает количество используемых в настоящее время процессоров. Однако добавление переменной curProcessors в файл mbeans для соединителей, похоже, не отображает текущее значение на дисплее JConsole.
Примечание: XML-файл mbeans, который я модифицировал, был в tomcat \ server \ lib \ catalina.jar и находится в каталоге org \ apache \ catalina \ connector в банке. Ниже приведен пример записи я добавил: <attribute name="curProcessors" description="the number of processors currently in use" type="int"/>
Можете ли вы рассказать мне разницу между количеством сеансов и количеством подключений? Я думаю, мне нужно знать количество подключений к серверу tomcat. – Thunderhashy
Я цитирую из API docs- Сессия. Предоставляет способ идентифицировать пользователя через более чем один запрос страницы или посещать веб-сайт и хранить информацию об этом пользователе. Сеанс сохраняется в течение определенного периода времени, через более одного соединение или запрос страницы от пользователя. В принципе, пользователь может иметь 1 сеанс и несколько соединений для разных запросов. Или, если вы рассматриваете страницу, загружающую разные разделы с использованием запросов AJAX, загрузка каждого раздела создаст другое соединение с сервером при использовании того же сеанса (если есть). – Thimmayya
И если вам нужно понять, чтобы то, что делает каждое соединение, использовать это на Linux
netstat -an | grep :8080 | awk '{print $6}'
Если есть три соединения, вы увидите
СЛУШАТЬ TIME_WAIT TIME_WAIT
И если вы хотите только подсчитать соединения, которые находятся в состоянии TIME_WAIT
netstat -an | grep :8080 | grep TIME_WAIT | wc -l
- 1. NGINX: Ограничить количество подключений к восходящему серверу
- 2. Ограничение количества подключений к серверу
- 3. Twisted: количество клиентских подключений к серверу TCP ограничено?
- 4. Tomcat DataSource - Максимальное количество активных подключений
- 5. Как ограничить количество подключений к серверу SQL Server из моего приложения java для развертывания tomcat?
- 6. Сколько подключений к серверу mySQL одновременно?
- 7. Имитация нескольких клиентских подключений к серверу
- 8. Проверить текущее количество подключений к MongoDb
- 9. Тестирование нескольких подключений к серверу socket.io
- 10. Количество подключений к гнезду unix
- 11. Проверить количество подключений к MySQL в codeigniter
- 12. Как оптимизировать количество подключений к базе данных?
- 13. Несколько пассивных подключений к серверу vsftpd
- 14. Какой смысл делать несколько подключений к серверу?
- 15. Не удается достичь одновременных подключений к серверу
- 16. C++ - Обнаружение нескольких подключений к серверу
- 17. Открытие двух подключений к моему серверу Apache?
- 18. Как создать несколько подключений к моему серверу
- 19. Как проверить количество клиентов, подключенных к серверу
- 20. Proxool максимальное количество подключений
- 21. Нежелательные подключения к серверу Tomcat
- 22. Максимальное количество устройств, подключенных к серверу АБР
- 23. com.sun.net.httpserver.HttpServer максимальное количество подключений?
- 24. Максимальное количество подключений к MySQL - ошибка кодирования?
- 25. Количество одновременных подключений к услуге GCM
- 26. Количество подключений к ElasticSearch от Java Spark
- 27. Как узнать количество подключений к базе данных
- 28. Cloudbees максимальное количество подключений к сети
- 29. Что ограничивает количество подключений к службе Kubernetes?
- 30. Какое количество постоянных подключений к APNS разрешено?
Что вы подразумеваете под "connected"? Если вы не «поддерживаете» их, HTTP-соединения не являются постоянными. –