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

iperf3 на шлюзе, меньше чем на клиенте в локальной сети?

 ,


0

3

Всем привет.

Есть роутер под openwrt, к нему подключен линукс-десктоп.

На десктопе замеры:

iperf3 -c speedtest.ownit.se
Connecting to host speedtest.ownit.se, port 5201
[  5] local 192.168.11.235 port 53850 connected to 84.55.107.2 port 5201
[ ID] Interval           Transfer     Bitrate         Retr  Cwnd
[  5]   0.00-1.00   sec  3.86 MBytes  32.3 Mbits/sec    0    648 KBytes       
[  5]   1.00-2.00   sec  7.50 MBytes  62.9 Mbits/sec    0   3.07 MBytes       
[  5]   2.00-3.00   sec  11.2 MBytes  94.4 Mbits/sec    0   3.07 MBytes       
[  5]   3.00-4.00   sec  11.2 MBytes  94.4 Mbits/sec    0   3.07 MBytes       
[  5]   4.00-5.00   sec  11.2 MBytes  94.4 Mbits/sec    0   3.07 MBytes       
[  5]   5.00-6.00   sec  11.2 MBytes  94.4 Mbits/sec    0   3.07 MBytes       
[  5]   6.00-7.00   sec  11.2 MBytes  94.4 Mbits/sec    0   3.07 MBytes       
[  5]   7.00-8.00   sec  11.2 MBytes  94.4 Mbits/sec    0   3.07 MBytes       
[  5]   8.00-9.00   sec  11.2 MBytes  94.4 Mbits/sec    0   3.07 MBytes       
[  5]   9.00-10.00  sec  11.2 MBytes  94.4 Mbits/sec    0   3.07 MBytes       
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-10.00  sec   101 MBytes  85.0 Mbits/sec    0             sender
[  5]   0.00-10.13  sec  99.7 MBytes  82.5 Mbits/sec                  receiver

на самом роутере:

iperf3 -c speedtest.ownit.se
Connecting to host speedtest.ownit.se, port 5201
[  5] local 10.12.200.73 port 57824 connected to 84.55.107.2 port 5201
[ ID] Interval           Transfer     Bitrate         Retr  Cwnd
[  5]   0.00-1.00   sec  1.60 MBytes  13.4 Mbits/sec    0    895 KBytes       
[  5]   1.00-2.00   sec  2.76 MBytes  23.2 Mbits/sec    0    899 KBytes       
[  5]   2.00-3.00   sec  3.02 MBytes  25.3 Mbits/sec    0    899 KBytes       
[  5]   3.00-4.00   sec  2.75 MBytes  23.1 Mbits/sec    0    899 KBytes       
[  5]   4.00-5.00   sec  2.70 MBytes  22.6 Mbits/sec    0    899 KBytes       
[  5]   5.00-6.00   sec  3.04 MBytes  25.5 Mbits/sec    0    899 KBytes       
[  5]   6.00-7.00   sec  2.70 MBytes  22.7 Mbits/sec    0    899 KBytes       
[  5]   7.00-8.00   sec  3.01 MBytes  25.2 Mbits/sec    0    899 KBytes       
[  5]   8.00-9.00   sec  2.68 MBytes  22.5 Mbits/sec    0    899 KBytes       
[  5]   9.00-10.00  sec  2.62 MBytes  22.0 Mbits/sec    0    899 KBytes       
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-10.00  sec  26.9 MBytes  22.5 Mbits/sec    0             sender
[  5]   0.00-10.13  sec  26.9 MBytes  22.3 Mbits/sec                  receiver

Почему такая разница?


Чего ты хочешь от роутера, не вытягивает поди CPU его такой трафик генерировать и одновременно отправлять)

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

в top вижу 5% нагрузку

PID    PPID USER     STAT   VSZ %VSZ %CPU COMMAND
10034  9994 root     S     1148   2%   5% iperf3 -c speedtest.ownit.se
wncpw
() автор топика
Ответ на: комментарий от t184256

почти лимит

iperf3 -c 192.168.11.235 
Connecting to host 192.168.11.235, port 5201
[  5] local 192.168.11.3 port 48336 connected to 192.168.11.235 port 5201
[ ID] Interval           Transfer     Bitrate         Retr  Cwnd
[  5]   0.00-1.00   sec  11.6 MBytes  96.9 Mbits/sec    0    161 KBytes       
[  5]   1.00-2.00   sec  11.2 MBytes  94.4 Mbits/sec    0    168 KBytes       
[  5]   2.00-3.00   sec  11.1 MBytes  93.3 Mbits/sec    0    175 KBytes       
[  5]   3.00-4.00   sec  11.2 MBytes  94.4 Mbits/sec    0    175 KBytes       
[  5]   4.00-5.00   sec  11.4 MBytes  95.2 Mbits/sec    0    175 KBytes       
[  5]   5.00-6.00   sec  11.2 MBytes  94.0 Mbits/sec    0    175 KBytes       
[  5]   6.00-7.00   sec  11.2 MBytes  94.3 Mbits/sec    0    185 KBytes       
[  5]   7.00-8.00   sec  11.1 MBytes  92.9 Mbits/sec    0    211 KBytes       
[  5]   8.00-9.00   sec  11.2 MBytes  94.3 Mbits/sec    0    211 KBytes       
[  5]   9.00-10.00  sec  11.3 MBytes  94.9 Mbits/sec    0    328 KBytes       
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-10.00  sec   113 MBytes  94.4 Mbits/sec    0             sender
[  5]   0.00-10.01  sec   112 MBytes  94.1 Mbits/sec                  receiver

wncpw
() автор топика

Окно отправки ограничено, вероятно, из-за небольшого количества оперативки в роутере. См. sysctl net.ipv4.tcp_wmem, net.ipv4.tcp_rmem

ValdikSS ★★★★★
()

Ты бы запустил на роутере «iperf3 -s» и «iperf3 -c 127.0.0.1» и посмотрел производительность процессора самого роутера.

Может там все совсем грустно.

Форвардить пакеты - задача значительно менее трудоёмкая.

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

если я правильно понял, эти значения не тюнелись

~ # cat /proc/sys/net/ipv4/tcp_mem
657	876	1314

~ # cat /proc/sys/net/ipv4/tcp_rmem 
4096	131072	448640

~ # cat /etc/sysctl.d/10-default.conf 
# Do not edit, changes to this file will be lost on upgrades
# /etc/sysctl.conf can be used to customize sysctl settings

kernel.panic=3
kernel.core_pattern=/tmp/%e.%t.%p.%s.core
fs.suid_dumpable=2

fs.protected_hardlinks=1
fs.protected_symlinks=1

net.core.bpf_jit_enable=1

net.ipv4.conf.default.arp_ignore=1
net.ipv4.conf.all.arp_ignore=1
net.ipv4.ip_forward=1
net.ipv4.icmp_echo_ignore_broadcasts=1
net.ipv4.icmp_ignore_bogus_error_responses=1
net.ipv4.igmp_max_memberships=100
net.ipv4.tcp_fin_timeout=30
net.ipv4.tcp_keepalive_time=120
net.ipv4.tcp_syncookies=1
net.ipv4.tcp_timestamps=1
net.ipv4.tcp_sack=1
net.ipv4.tcp_dsack=1

net.ipv6.conf.default.forwarding=1
net.ipv6.conf.all.forwarding=1
~ # cat /etc/sysctl.d/11-nf-conntrack.conf 
# Do not edit, changes to this file will be lost on upgrades
# /etc/sysctl.conf can be used to customize sysctl settings

net.netfilter.nf_conntrack_acct=1
net.netfilter.nf_conntrack_checksum=0
net.netfilter.nf_conntrack_max=16384
net.netfilter.nf_conntrack_tcp_timeout_established=7440
net.netfilter.nf_conntrack_udp_timeout=60
net.netfilter.nf_conntrack_udp_timeout_stream=180

wncpw
() автор топика
Ответ на: комментарий от vel
iperf3 -c 127.0.0.1
Connecting to host 127.0.0.1, port 5201
[  5] local 127.0.0.1 port 56732 connected to 127.0.0.1 port 5201
[ ID] Interval           Transfer     Bitrate         Retr  Cwnd
[  5]   0.00-1.00   sec  43.0 MBytes   360 Mbits/sec    0    639 KBytes       
[  5]   1.00-2.00   sec  42.7 MBytes   359 Mbits/sec    0    639 KBytes       
[  5]   2.00-3.00   sec  43.1 MBytes   361 Mbits/sec    0    639 KBytes       
[  5]   3.00-4.00   sec  43.0 MBytes   361 Mbits/sec    0    639 KBytes       
[  5]   4.00-5.00   sec  43.0 MBytes   360 Mbits/sec    0    639 KBytes       
[  5]   5.00-6.00   sec  43.1 MBytes   361 Mbits/sec    0    639 KBytes       
[  5]   6.00-7.00   sec  43.0 MBytes   361 Mbits/sec    0    639 KBytes       
[  5]   7.00-8.00   sec  42.2 MBytes   354 Mbits/sec    0    639 KBytes       
[  5]   8.00-9.00   sec  41.8 MBytes   350 Mbits/sec    0    639 KBytes       
[  5]   9.00-10.00  sec  42.4 MBytes   356 Mbits/sec    0    639 KBytes       
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-10.00  sec   427 MBytes   358 Mbits/sec    0             sender
[  5]   0.00-10.00  sec   427 MBytes   358 Mbits/sec                  receiver

iperf Done.

wncpw
() автор топика
Ответ на: комментарий от wncpw

358 Mbits/s - это очень медленно. Это какой-то arm/mips ?

Для сравнения:

  • Quad Q8400 на 2.6GHz дает 10Gbit/s
  • древний Xeon E3-1230/V2 на 1.6GHz дает 20.4 Gbits/sec и на 3.3GHz дает 40 Gbit/s.

Есть еще один интересный тест. Берем Xeon E3-1240/v3 @ 3.4HGz который на veth интерфейсе показывает 50ГБит/с.

Отключаем на этом интерфейсе аппаратную поддержку КС и получаем 9.7 ГБит/с!

Так что если на сетевых интерфейсах этого роутера нет аппаратной поддержки КС, то iperf3 покажет 3-5 раз меньше 360 МБит/с.

Это идеальный вариант, а в реальности на производительность tcp еще будет сказываться настройка протокола tcp ( объем памяти для сокетов/tcp и алгоритм tcp congestion control).

PS speedtest.ownit.se бывает сильно загружен. Несколько раз скорость была в районе 50Мбит. Выше 150 Мбит не видел. Выбери что-нибудь приличное из https://github.com/R0GGER/public-iperf3-servers

Из моей деревни до speedtest.wtnet.de:5201 получаю стабильно 1.4ГБит/с

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

Это какой-то arm/mips ?

ага mips:

cpu model : MIPS 24KEc V5.0

Так что если на сетевых интерфейсах этого роутера нет аппаратной поддержки КС,

че за КС?

Выбери что-нибудь приличное из https://github.com/R0GGER/public-iperf3-servers

да смысла особого нет, оно везде будет меньше чем на хосте в локальной сети. ps. спасибо за объяснение.

wncpw
() автор топика
Ответ на: комментарий от wncpw

КС - контрольная сумма.

Часть сетевых карт умеет не только проверять их на всех уровнях (L3,L4), но и сама может их формировать.

Для серверов аппаратное формарование КС при приёме/передаче данных дает уменьшение нагрузки на CPU.

Для роутеров эта польза в два раза меньше, т.к. нужно проверять только входящие пакеты.

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

глянул, включить не получится rx-checksumming: off [fixed]

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