Использование iperf3 для тестирования сети с --length 1000 --no-delay
:
iperf3 --interval 1 --time 3 --no-delay --length 1000 --parallel 100 --client 10.0.0.3
Результат:
[SUM] 0.00-3.00 sec 835 MBytes 2.33 Gbits/sec 13 sender
[SUM] 0.00-3.01 sec 835 MBytes 2.33 Gbits/sec receiver
С участием --length 1 --no-delay
:
iperf3 --interval 1 --time 3 --no-delay --length 1 --parallel 100 --client 10.0.0.3
Результат:
[SUM] 0.00-3.00 sec 751 KBytes 2.05 Mbits/sec 5 sender
[SUM] 0.00-3.02 sec 751 KBytes 2.03 Mbits/sec receiver
-> Я получаю 2 Мбит / сек вместо 2 Гбит / сек.
Кажется, что я достиг некоторого аппаратного или программного ограничения, где-то не позволяет небольшим пакетам достигать более высокой пропускной способности
1) Что это может быть за предел?
2) Как это обнаружить? (в unix есть ли команда для проверки?)
3) Есть ли способ увеличить этот лимит?
ОБНОВИТЬ:
Посчитаем количество пакетов в секунду:
Для полезной нагрузки 1000B: PPS = 2,33 * 1024 * 1024 * 1024/8/1000 = 313K
Для полезной нагрузки 1B: PPS = 2,03 * 1024 * 1024/8/1 = 266K
Разве мы не должны ожидать большего количества пакетов при меньшей полезной нагрузке?