Ретранслятор Azure, использующий тысячи внутренних портов
Я использую Azure Relay, WCF с NetTcpRelayBinding, вызывая локальную службу Windows из службы приложений API Azure. Иногда это услуга с большим объемом звонков, поэтому мы иногда делаем тысячи звонков в течение часа. У нас не установлено значение MaxConnections для привязки, поэтому используется значение по умолчанию, равное 10.
С помощью инструмента мониторинга, такого как команда netstat или Sysinternals TCPView, мы заметили, что при выполнении вызовов в нашу локальную службу Windows служба использует удаленный порт 9352 для обслуживания входящих вызовов и несколько локальных портов. В большинстве случаев локальные порты используются, а затем отключаются. Однако иногда мы получаем тысячи портов, которые открываются и остаются открытыми, а не закрываются, в конечном итоге используя все локальные порты на машине.
Есть ли способ отслеживать или регулировать использование этих локальных портов и быстрее выводить их из эксплуатации, чтобы не использовать все 16000 доступных локальных портов? В идеале мы могли бы установить MaxConnections и обеспечить его максимальное значение.