LINUX.ORG.RU
решено ФорумAdmin

iperf3, tcp window scaling

 ,


0

1

Доброго времени суток.

Объясните пожалуста причину странного поведения tcp congestion window при использовании iperf3. Усливия такие: имеется centos хост с kvm, внутри которого крутится гость также с centos (сеть подключена мостом, драйвер virtio). В госте поднят iperf3 как сервер. В хосте установлено ограничение на виртуальный интерефейс с помошью tc:

tc qdisc add dev vnet8 root netem delay 200ms rate 1024mbit
Поднимаю в хосте iperf3-клиент с несколькими потоками и вижу, что после увеличения количества потоков больше чем 2-3 перестает расти TCP Window (cwnd) и растет количество повторов (Retr). То есть, если я использую 2 потока, то для каждого окно достигает размера в 6mb для каждого, а если 4 и больше, то окно не превышает 400kb. В итоге скорость с 5-8 потоками оказывается в несколько раз ниже, чем с 2. Подскажите, в какую сторону копать, чтобы понять причину такого поведения и как это исправить.

IMHO для 200мс задержки нужно где-то хранить пакеты. Все что не влезает - дропается, на что и реагирует размер окна. Невыгодно иметь огромное окно при дропах.

Я бы попробовал увеличить limit в netem.

Посмотри «tc -s qdisc show vnet8» на предмет дропов.

vel ★★★★★
()
Ответ на: комментарий от vel

Именно это мне и нужно было! Увеличение limit сделало размер окна как я прогнозировал и прояснило работу netem, благодарю.

kirichenkoga
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.