LINUX.ORG.RU
ФорумAdmin

Скорость работы локальной сети

 , , , ,


1

2

Я заметил следующие: если трафик идёт через более чем одного хопа, то пропускная способность на конечном узле падает. Вот например, имеем на KVM интерфейс 10Gbps virtio.

Машины в одном сигменте:

root@torrent:~# traceroute 10.194.1.1 
traceroute to 10.194.1.1 (10.194.1.1), 30 hops max, 60 byte packets
 1  10.194.1.1 (10.194.1.1)  0.119 ms  0.103 ms  0.095 ms
root@torrent:~# 

root@torrent:~# iperf -c 10.194.1.1 -p 8080
------------------------------------------------------------
Client connecting to 10.194.1.1, TCP port 8080
TCP window size: 45.0 KByte (default)
------------------------------------------------------------
[  3] local 10.194.1.11 port 54044 connected with 10.194.1.1 port 8080
[ ID] Interval       Transfer     Bandwidth
[  3]  0.0-10.0 sec  9.66 GBytes  8.30 Gbits/sec
root@torrent:~# 

Машины в более чем одном сигменте:

root@torrent:~# traceroute 10.194.0.1
traceroute to 10.194.0.1 (10.194.0.1), 30 hops max, 60 byte packets
 1  10.194.1.1 (10.194.1.1)  0.089 ms  0.076 ms  0.066 ms
 2  192.168.222.1 (192.168.222.1)  0.187 ms  0.249 ms  0.255 ms
 3  10.194.0.1 (10.194.0.1)  0.485 ms  0.481 ms  0.472 ms
root@torrent:~# 
root@torrent:~# iperf -c 10.194.0.1 -p 8080
------------------------------------------------------------
Client connecting to 10.194.0.1, TCP port 8080
TCP window size: 45.0 KByte (default)
------------------------------------------------------------
[  3] local 10.194.1.11 port 56060 connected with 10.194.0.1 port 8080
[ ID] Interval       Transfer     Bandwidth
[  3]  0.0-10.0 sec  3.46 GBytes  2.97 Gbits/sec
root@torrent:~# 
root@torrent:~# iperf -c 10.194.0.10 -p 8080
------------------------------------------------------------
Client connecting to 10.194.0.10, TCP port 8080
TCP window size: 45.0 KByte (default)
------------------------------------------------------------
[  3] local 10.194.1.11 port 40506 connected with 10.194.0.10 port 8080
[ ID] Interval       Transfer     Bandwidth
[  3]  0.0-10.0 sec  2.87 GBytes  2.47 Gbits/sec
root@torrent:~# 


Как я понял, ято нормальное поведение? Короче, формула расчёта пропускной способности локальной сети:
uplink_bandwith/hop

★★★★★

ты в несколько потоков запусти. На больших скоростях с небольшим окном один поток может не выбрать всю емкость канала.

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

вот в несколько потоков:

root@torrent:~# [ ID] Interval       Transfer     Bandwidth
[  3]  0.0-10.0 sec  1.54 GBytes  1.32 Gbits/sec
[ ID] Interval       Transfer     Bandwidth
[  3]  0.0-10.0 sec   488 MBytes   409 Mbits/sec
[ ID] Interval       Transfer     Bandwidth
[  3]  0.0-10.0 sec  1.23 GBytes  1.05 Gbits/sec
[ ID] Interval       Transfer     Bandwidth
[  3]  0.0-10.0 sec   488 MBytes   409 Mbits/sec

[1]   Done                    iperf -c 10.194.0.10 -p 8080
[2]   Done                    iperf -c 10.194.0.10 -p 8080
[3]-  Done                    iperf -c 10.194.0.10 -p 8080
[4]+  Done                    iperf -c 10.194.0.10 -p 8080
root@torrent:~# 

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

Скорее всего, размера буфера на отправку не хватает. Или, быть может, у вас в локалке MTU выше, чем при маршрутизации трафика.

ValdikSS ★★★★★ ()
Ответ на: комментарий от ne-vlezay

Какая версия ядра? В virtio куча оптимизаций по скорости в новых ядрах, но он все равно не супер быстрый, т.к. основан на tun.

ValdikSS ★★★★★ ()

Экспириментировал с mtu - тоже самое. Единственный способ увиличить аплинк - использовать bonding а на гипервайзере поставить и настроить openvswitch

ne-vlezay ★★★★★ ()
Последнее исправление: ne-vlezay (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.