Iperf: Уменьшите размер пакета UDP по умолчанию до физического MTU — используйте WSA Registered IO в Windows для получения пакетов UDP.

Созданный на 25 янв. 2021  ·  4Комментарии  ·  Источник: esnet/iperf

Я выяснил, в чем причина того, что очереди UDP RSS не работают: адаптер конвергентной сети Intel(R) Ethernet X550-T2 не отправляет Jumbo-пакеты, даже если он настроен (другая сетевая карта делает это), поэтому все пакеты UDP больше, чем по умолчанию 1500MTU разделены на IP-пакеты. IP-пакеты не имеют портов, и алгоритм UDP-RSS-хеширования не может работать. Даже если бы он знал, что пакет IP является частью пакета UDP.

Единственный способ — уменьшить размер MTU на стороне отправки iperf до физического MTU.
Также Windows не получает более одного пакета UDP от ядра при использовании WINSOCK API по умолчанию. Что приведет к очень высокой загрузке процессора. Чтобы решить эту проблему, iperf должен использовать WSA Registered I/O API.

_Первоначально опубликовано @Febbe в https://github.com/esnet/iperf/issues/1049#issuecomment -766829448_

Самый полезный комментарий

Отправлен PR #1119, чтобы добавить возможность установки флага "Не фрагментировать".

Все 4 Комментарий

Я бы рад, что вы смогли выяснить, что вызывает эту проблему! К сожалению, ESnet не поддерживает iperf3 в Windows, поэтому, если есть решение, оно должно исходить от сообщества (а также не нарушать iperf3 для поддерживаемых платформ).

Означает ли это, что «ESnet не поддерживает iperf3 в Windows» означает, что вы, как ESnet, не исправите это, но примете PR от сообщества?

Насколько я знаю, RSS-Queues также используются на платформах Linux, поэтому даже там имеет смысл, по крайней мере, добавить флаг, запрещающий фрагментацию пакетов для udp, вместо использования флага по умолчанию -l 8K.

Означает ли это, что «ESnet не поддерживает iperf3 в Windows» означает, что вы, как ESnet, не исправите это, но примете PR от сообщества?

Мы примем PR от сообщества, если они не нарушат функциональность (используйте условную компиляцию, если возможно, есть несколько примеров в дереве) или не вызовут серьезных изменений в дизайне iperf3. У нас нет возможности на самом деле тестировать PR, характерные для Windows, в нашей среде, поэтому лучший шанс получить PR — это если он небольшой и понятный разработчикам, не работающим в Windows.

Отправлен PR #1119, чтобы добавить возможность установки флага "Не фрагментировать".

Была ли эта страница полезной?
0 / 5 - 0 рейтинги