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

Фактическая скорость отправки iperf всегда ниже ожидаемой целевой пропускной способности, пока не будет достигнуто некоторое равновесие. Зачем?

Я провел тест UDP iperf 2.0.5-Ubuntu между двумя виртуальными машинами на одном гипервизоре. Как видно из выходных данных iperf ниже, я начал свой первый тест с флагом «-b 686M». Однако iperf сообщил, что может отправлять трафик только со скоростью 633 Мбит / с (92% целевой пропускной способности). Затем я уменьшил целевую пропускную способность до 633 Мбит / с. Однако снова iperf смог отправить трафик только со скоростью 604 Мбит / с (95% целевой пропускной способности). Затем я продолжал делать это, пока не достиг некоторого равновесия на скорости 561 Мбит / с, когда, наконец, целевая полоса пропускания постоянно соответствовала фактической пропускной способности.

Что здесь происходит? Почему iperf отправляет трафик с меньшей скоростью, чем указанная целевая пропускная способность? Очевидно, что с первого запуска у iperf достаточно ресурсов процессора для генерации трафика со скоростью 686 Мбит / с, если бы он действительно этого хотел.

root@ubuntu:/# iperf -u -c 192.168.71.135 -b 686M -t 10
------------------------------------------------------------
Client connecting to 192.168.71.135, UDP port 5001
Sending 1470 byte datagrams
UDP buffer size:  208 KByte (default)
------------------------------------------------------------
[  3] local 192.168.71.136 port 37449 connected with 192.168.71.135 port 5001
[ ID] Interval       Transfer     Bandwidth
[  3]  0.0-10.0 sec   754 MBytes   633 Mbits/sec
[  3] Sent 538085 datagrams
[  3] Server Report:
[  3]  0.0-10.0 sec   754 MBytes   633 Mbits/sec   0.012 ms   40/538084 (0.0074%)
[  3]  0.0-10.0 sec  1 datagrams received out-of-order
root@ubuntu:/# iperf -u -c 192.168.71.135 -b 633M -t 10
------------------------------------------------------------
Client connecting to 192.168.71.135, UDP port 5001
Sending 1470 byte datagrams
UDP buffer size:  208 KByte (default)
------------------------------------------------------------
[  3] local 192.168.71.136 port 58953 connected with 192.168.71.135 port 5001
[ ID] Interval       Transfer     Bandwidth
[  3]  0.0-10.0 sec   720 MBytes   604 Mbits/sec
[  3] Sent 513420 datagrams
[  3] Server Report:
[  3]  0.0-10.0 sec   720 MBytes   604 Mbits/sec   0.016 ms   49/513419 (0.0095%)
[  3]  0.0-10.0 sec  1 datagrams received out-of-order
root@ubuntu:/# iperf -u -c 192.168.71.135 -b 604M -t 10
------------------------------------------------------------
Client connecting to 192.168.71.135, UDP port 5001
Sending 1470 byte datagrams
UDP buffer size:  208 KByte (default)
------------------------------------------------------------
[  3] local 192.168.71.136 port 45411 connected with 192.168.71.135 port 5001
[ ID] Interval       Transfer     Bandwidth
[  3]  0.0-10.0 sec   695 MBytes   583 Mbits/sec
[  3] Sent 495600 datagrams
[  3] Server Report:
[  3]  0.0-10.0 sec   695 MBytes   583 Mbits/sec   0.015 ms  199/495599 (0.04%)
[  3]  0.0-10.0 sec  1 datagrams received out-of-order
root@ubuntu:/# iperf -u -c 192.168.71.135 -b 583M -t 10
------------------------------------------------------------
Client connecting to 192.168.71.135, UDP port 5001
Sending 1470 byte datagrams
UDP buffer size:  208 KByte (default)
------------------------------------------------------------
[  3] local 192.168.71.136 port 56228 connected with 192.168.71.135 port 5001
[ ID] Interval       Transfer     Bandwidth
[  3]  0.0-10.0 sec   669 MBytes   561 Mbits/sec
[  3] Sent 477143 datagrams
[  3] Server Report:
[  3]  0.0-10.0 sec   669 MBytes   561 Mbits/sec   0.013 ms    4/477142 (0.00084%)
[  3]  0.0-10.0 sec  1 datagrams received out-of-order
root@ubuntu:/# iperf -u -c 192.168.71.135 -b 561M -t 10
------------------------------------------------------------
Client connecting to 192.168.71.135, UDP port 5001
Sending 1470 byte datagrams
UDP buffer size:  208 KByte (default)
------------------------------------------------------------
[  3] local 192.168.71.136 port 41766 connected with 192.168.71.135 port 5001
[ ID] Interval       Transfer     Bandwidth
[  3]  0.0-10.0 sec   669 MBytes   561 Mbits/sec
[  3] Sent 477264 datagrams
[  3] Server Report:
[  3]  0.0-10.0 sec   669 MBytes   561 Mbits/sec   0.013 ms  405/477263 (0.085%)
[  3]  0.0-10.0 sec  1 datagrams received out-of-order
root@ubuntu:/# iperf -u -c 192.168.71.135 -b 561M -t 10