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

Влияние разгрузки NIC GRO на размер окна TCP в Linux?

Я столкнулся с некоторыми, с моей точки зрения, противоречащими интуиции результатами некоторых тестов iperf3 между двумя серверами с интерфейсом 40 Гбит / с (остальные протоколы конфигурации стека tcp одинаковы на двух серверах).

Испытания следующие:

Server A                      Server B
========                      ========
GRO  OFF                      GRO ON
iperf3 CLIENT --traffic-->    iperf3 SERVER

Result:   10Gbps
TCP window size: 85.3 KByte (default)

а в другую сторону:

Server A                      Server B
========                      ========
GRO  OFF                      GRO ON
iperf3 SERVER <--traffic--    iperf3 CLIENT

Result:   37Gbps
TCP window size: 1.03 MByte (default)

Если мы активируем GRO на сервере A, результат iperf3 вырастет до 30 Гбит / с.

Вопросы: