У меня возникла ситуация, когда я натыкаюсь на эфемерное истощение порта, которое затем вызывает исключения. Я хотел бы отключить соединения, чтобы избежать этого. Есть ли способ определить количество используемых эфемерных портов?Как найти количество используемых эфемерных портов?
Спасибо, Erick
Если вы отслеживать, сколько открыл приложение, это будет хорошим приближением первого уровня. У меня есть серьезные сомнения в том, что вы столкнулись с изнурительным истощением порта, поскольку UDP и TCP отслеживают сеансы через (локальный ip, peer ip, локальный порт, удаленный порт) - любой один порт может использоваться для сотен тысяч подключений к нескольким сверстникам или сотням тысяч сверстников. Проверьте вывод «netstat» или эквивалент вашей платформы «netstat», чтобы отладить это, прежде чем смотреть в код, чтобы обойти это. Возможно, файл-дескриптор или ограничение сокета более вероятны. – sarnold
Мы столкнулись с этой ситуацией на Azure, используя хранилище Azure от Azure VM. Мы подтвердили, что это ошибка эфемерного порта из-за ошибки. Кроме того, увеличение предела (от 5k -> 2k) и сокращение времени повторного использования решает проблему. Проблема в том, что мы не хотим делать это на каждой виртуальной машине. –
Azure не по умолчанию повторно использует существующие соединения ??? – sarnold