Почему моя пропускная способность UDP значительно ниже, чем пропускная способность TCP в iperf

Я использую простой тест пропускной способности между двумя виртуальными машинами, используя iperf. Я получаю очень разное чтение полосы пропускания для TCP и UDP, где пропускная способность UDP ужасно ниже, чем TCP.

TCP:

 root @ i-sahmed-node2: ~ # iperf -c 10.160.24.123 ---------------------------------- -------------------------- Клиент, подключающийся к 10.160.24.123, TCP-порт 5001 Размер окна TCP: 85.0 КБайт (по умолчанию) ----- -------------------------------------------------- ----- [3] местный 10.160.24.170 порт 48339, подключенный к порту 10.160.24.123 5001 [ID] Интервальная пропускная способность передачи [3] 0,0-10,0 сек. 7,41 ГБ. 6,36 Гбит / с root @ i-sahmed-node2: ~ # 

UDP:

 root @ i-sahmed-node2: ~ # iperf -c 10.160.24.123 -u -b 6g
 -------------------------------------------------- ----------
 Клиент, подключенный к 10.160.24.123, UDP-порт 5001
 Отправка 1470 байтовых дейтаграмм
 Размер буфера UDP: 208 Кбайт (по умолчанию)
 -------------------------------------------------- ----------
 [3] местный порт 10.160.24.170 51922, подключенный к порту 10.160.24.123 5001
 [ID] Интервальная пропускная способность
 [3] 0,0-10,0 с 962 Мбайт 807 Мбит / с
 [3] Отправлено 686548 дейтаграмм
 [3] Отчет сервера:
 [3] 0,0-10,0 сек 630 МБайт 528 Мбит / с 0,009 мс 237368/686547 (35%)
 [3] 0.0-10.0 сек. 9 датаграмм, полученных вне порядка
 root @ i-sahmed-node2: ~ #

Я могу воспроизвести это почти каждый раз. Поскольку я работаю на виртуальных машинах, у меня нет прямого доступа к базовому оборудованию. Кто-нибудь знает, почему это происходит?

  • Как я могу повторно отправить содержимое файла через socat / ncat в сокет
  • Как я могу завершить команду nc через 2 секунды?
  • Как реализован сетевой интерфейс loopback?
  • Как отслеживать все сеансы ip на машине linux
  • Как ограничить пропускную способность сети?
  • Последовательное имя сетевого интерфейса ubuntu с использованием слота pci
  • Каким сетевым интерфейсом по умолчанию трафик по трафику Linux?
  • Как я могу убить процесс, выполняющийся на определенном IP-адресе и порту?
  • One Solution collect form web for “Почему моя пропускная способность UDP значительно ниже, чем пропускная способность TCP в iperf”

    ./iPerf в режиме UDP должен отслеживать производительность каждого UDP-пакета, тогда как в режиме TCP единственное взаимодействие – это итоговое резюме.

    800Mb / sec – это ограничение для гостевых виртуальных машин, которые я видел.

    Linux и Unix - лучшая ОС в мире.