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

Тайм-аут подключения RDP, когда хост находится под нагрузкой на процессор

Более 3 лет я обычно наблюдал следующее: пока наш сервер занят сжатием резервных копий (7z, все ядра, приоритет простоя), первая попытка RDP на любой другой компьютер в локальной сети приводит к таймауту. Вторая попытка подключается и сразу открывается. Отмена и быстрая повторная попытка подключения не помогает, мне приходится ждать 60 секунд.

Когда я записываю обмен с Wireshark на обеих сторонах соединения, я вижу, что в течение первых 400 мс происходит обмен примерно 6 КБ данных, затем связь останавливается. Через 60 секунд удаленная конечная точка отправляет RST, ACK, и диалоговое окно RDP продолжает вращаться еще 30 секунд, прежде чем объявить тайм-аут. В любом из захватов нет ничего явно неправильного, и, похоже, они не осуществляют никакой связанной с этим сетевой связи, пока это происходит.

Странно то, что если я отменяю и снова пытаюсь установить соединение после некоторого ожидания, оно в конечном итоге подключается. Я все еще вижу, что пакет RST для первого подключения отображается на отметке 60 секунд. Тайм-аут кажется глобальным.

Итак ... есть подсказка, с чем я здесь имею дело?

Я заметил подобное поведение на разных серверах на протяжении многих лет ... Я обнаружил, что добавление следующей модификации реестра на удаленном сервере позволяет мне продлить 60-секундный тайм-аут RDP по умолчанию, и тогда учетная запись войдет в систему:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp LogonTimeout REG_DWORD Десятичный: 240 (секунды)

Вы можете легко добавить это новое значение реестра, используя REG.EXE команда в командной строке с повышенными привилегиями (Запустить от имени администратора):

REG.EXE ADD "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" /v LogonTimeout /t REG_DWORD /d 240

(Настроить 240 ценность чего-либо выше 60. Это значение в секундах.)

Пожалуйста, дайте мне знать, если это относится к вашей ситуации!