Назад | Перейти на главную страницу

Почему порт 9721 периодически отклоняет соединения на Apache Tomcat 8.5, работающем в Windows Server 2012 R2?

Веб сервер: Apache Tomcat 8.5
Операционная система: Windows Server 2012 R2
Порт: 9721

У нас есть веб-сервер во внутренней сети, и около 8500 киосков подключаются через нашу VPN к сервлету Java, работающему на этом порту:: 9721

Этот веб-сервер был настроен бывшим сотрудником, и мы не знаем, как он был изначально настроен.

Недавно мы заметили, что около 25% попыток подключения отклоняются (ошибка Connection Refused). Мы нашли эту информацию, отслеживая порт 9721 с помощью PRTG, и этот инструмент мониторинга сообщает, что этот порт несколько раз отказывает в подключении в течение каждого часа в течение дня. Мне не удалось найти закономерность отказа в подключении ... кажется, что это прерывисто.

Наш сетевой администратор говорит, что это не проблема брандмауэра, но я не исключаю такой возможности. Мы попытались просмотреть параметр «maxconnections» в файле конфигурации Tomcat server.xml, но не смогли найти атрибут «maxconnections», включенный в этот файл конфигурации. У нас не установлено приложение Tomcat Manager на этом сервере, которое я могу найти.

Как мне найти и решить эту проблему с подключением к порту?

Чтобы определить, в чем проблема, я бы совмещал мониторинг и тестирование ситуации, используя следующие шаги:

  1. создайте датчик PRTG, который сообщит вам, сколько TCP-соединений вы в настоящее время подключили к порту 9721. Для этого мы создадим файл powershell в установке PRTG (EXE / show-connections.ps1), содержащий следующее:

    Invoke-Command -ComputerName ToBeReplacedWithWebServerHostname -ScriptBlock {$ CountConnections = $ (Get-NetTCPConnection -LocalPort 9721) .Count echo "0: $ CountConnections Только датчик информации - в настоящее время у нас есть клиенты $ CountConnections, подключенные к порту 9721"}

Запланируйте запуск этого датчика каждые 30 секунд, чтобы получать информацию дважды в минуту.

  1. Запустите Jmeter удаленно на этом сервере через порт 9721 и убедитесь, что вы не получаете отказов в соединении с использованием 100, 1000 и 10000 одновременных соединений. Бьюсь об заклад, если вы запустите тест 10k, вы достигнете максимума, и вы увидите, что датчик PRTG показывает вам, сколько максимальных подключений вы можете использовать одновременно.

Я считаю, что датчик PRTG никогда не откажется подключиться к серверу - это означает, что с этим брандмауэром Windows нет проблем, но я считаю, что вы достигнете предела сервера приложений (Tomcat), и следующая статья может помочь вам попытаться настроить несколько параметров:

Ошибка Apache Tomcat Connection Refused при нагрузочном тестировании с 1000 пользователей с использованием JMeter

Дайте мне знать, если у вас возникнут дополнительные вопросы по PRTG / PowerShell или JMeter. И дайте мне знать, если вы нашли проблему