Надеюсь, что кто-то сможет прояснить мой вопрос относительно размера окна TCP и может ли он способствовать моей низкой пропускной способности, достигнутой через iPerf.
Я сделал снимок Wireshark с клиента при выполнении стандартного теста iPerf с клиента (сервер win 2016) на сервер (устройство резервного копирования, возможно, Linux) - скорость сети составляет 10 ГБ. Кажется, я получаю только 1-2 Гбит / сек. Пытаюсь выяснить, что могло быть причиной.
Во время трехстороннего рукопожатия клиент объявил размер своего окна как 64k с коэффициентом масштабирования 4. И сервер рекламировал 14k с коэффициентом масштабирования 128.
Я заметил, что в процессе передачи размер окна увеличился до 212 992 для клиента, а для сервера - до 3 142 016. А максимальное количество байтов в полете было 242032.
Затем я повторил тот же тест непосредственно между двумя виртуальными машинами Windows 2016, оба подключенными к одному коммутатору через интерфейсы 10 ГБ. Результаты были аналогичными, количество байтов в полете никогда не превышало прибл. 242к.
Я всегда думал, что размер окна, рекламируемый во время трехстороннего рукопожатия, является максимальным пределом. Но, похоже, это не так, поскольку размер окна постепенно увеличивался из-за некоторого алгоритма перегрузки (?), Пока не был достигнут некоторый предел, о чем свидетельствует максимальное значение байтов в полете 242k. Таким образом, у меня никогда не было больше 242 КБ неподтвержденных байтов, хотя в моем окне приема (3 МБ) было достаточно места.
Я решил, что что-то в пути приводит к ограничению окна перегрузки, и я думаю, это то, что мы пытаемся решить. Я буду повторять один и тот же тест iPerf и захват между двумя виртуальными машинами Windows Server на одном и том же коммутаторе, чтобы увидеть, может ли он подтолкнуть больше или показать аналогичные симптомы.
Заранее спасибо.
Вывод параметров TCP. Я изменил Уровень автонастройки окна приема к экспериментальной. Это действительно имело какое-то значение, пропускная способность снизилась до 4 ГБ, но все еще далеко от 10 ГБ.
TCP Global Parameters
----------------------------------------------
Receive-Side Scaling State : enabled
Chimney Offload State : disabled
NetDMA State : disabled
Direct Cache Access (DCA) : disabled
Receive Window Auto-Tuning Level : normal
Add-On Congestion Control Provider : default
ECN Capability : enabled
RFC 1323 Timestamps : disabled
Initial RTO : 3000
Receive Segment Coalescing State : enabled
Non Sack Rtt Resiliency : disabled
Max SYN Retransmissions : 2
TCP Fast Open : disabled