LINUX.ORG.RU

Медленная передача данных между машинами

 ,


0

1

Добрый день, прошу помочь в ситуации. Есть один хост с очень странным поведением. Точно таким же как у User01 в теме rsync медленая передача. В ту тему написать не могу, она в архиве, извините.

Собственно не важно по какому протоколу мы с этого хоста пытаемся забрать файлы rsync (через ssh или демон на порту 873), ftp, scp, smb - все едино, ограничение скорости одной передачи 8 мегабит/сек. При использовании ssh авторизация неважно какая - пароль или ключ, работает одинаково и так и так. Дисковая подсистема, CPU, сеть на передающей и принимающей стороне не нагружены в момент передачи.

Если параллельно с одной передачей файлов организовать вторую - она так же будет ограничена 8 Мб/Сек, общая скорость двух передач при этом сложилась до 16 мегабит. И так можно параллельно запускать еще загрузки, пока не упремся в ограничение провайдера между хостами.

Проблемный хост - Orange Pi Plus 2E
Armbian 21.08.3 Buster with Linux 5.10.60-sunxi
диск - sata ssd подключен в usb через переходник от какого-то внешнего бокса.

Iperf между этими хостами (в любую сторону) показывает максимальную скорость по тарифу провайдера ~ 50 мегабит/сек

hdparm -tT /dev/sda
/dev/sda:
Timing cached reads: 1228 MB in 2.00 seconds = 613.89 MB/sec
Timing buffered disk reads: 96 MB in 3.02 seconds = 31.83 MB/sec

Т.е. дело вроде как не в сети, не в диске, не в каком то конкретном протоколе передачи, и не в шифровании ssh. Не могу найти бутылочное горлышко, подскажите куда можно копнуть?



Последнее исправление: m_kn (всего исправлений: 1)

В ту тему написать не могу, она в архиве, извините.

Не надо извиняться, новая тема со ссылкой на старую — так и есть правильно.

Iperf между этими хостами (в любую сторону) показывает максимальную скорость по тарифу провайдера ~ 50 мегабит/сек

Гвоздь поста, однако. Через TCP? iperf точно в нужную сторону (у него неочевидный -R)? Если отдающий iperf повесить на один из проблемных номеров портов, он все равно останется быстрый?

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

Взял таймаут для проведения тестов, завтра вечером дам информацию по вашим вопросам.

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

Провел доп. тесты. Оказалось все не совсем так, как я писал в начале темы. Но не менее интересно.

Итак перемерил показатели iperf, как вы и говорили ключ -R неочевидный. Вот результаты. На говнохосте (назовем так проблемную машину) запустил утилиту вот так
iperf3 -s

Теперь запускаем на удаленном ПК клиент iperf3
Без -R, шлем трафик на говнохост

# iperf3 -c X.X.X.X -f m   
Connecting to host X.X.X.X, port 5201
[  7] local 192.168.16.2 port 59852 connected to X.X.X.X port 5201
[ ID] Interval           Transfer     Bitrate         Retr  Cwnd
[  7]   0.00-1.00   sec  8.26 MBytes  69.3 Mbits/sec   57    167 KBytes       
[  7]   1.00-2.00   sec  6.53 MBytes  54.7 Mbits/sec    0    191 KBytes       
[  7]   2.00-3.00   sec  6.53 MBytes  54.7 Mbits/sec   56    104 KBytes       
[  7]   3.00-4.00   sec  4.35 MBytes  36.5 Mbits/sec    0    129 KBytes       
[  7]   4.00-5.00   sec  5.44 MBytes  45.6 Mbits/sec    0    154 KBytes       
[  7]   5.00-6.00   sec  5.80 MBytes  48.7 Mbits/sec   23    125 KBytes       
[  7]   6.00-7.00   sec  3.81 MBytes  31.9 Mbits/sec   20    111 KBytes       
[  7]   7.00-8.00   sec  4.35 MBytes  36.5 Mbits/sec    0    136 KBytes       
[  7]   8.00-9.00   sec  2.72 MBytes  22.8 Mbits/sec    7   29.0 KBytes       
[  7]   9.00-10.00  sec  1.09 MBytes  9.12 Mbits/sec    4   35.5 KBytes       
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  7]   0.00-10.00  sec  48.9 MBytes  41.0 Mbits/sec  167             sender
[  7]   0.00-10.02  sec  47.7 MBytes  39.9 Mbits/sec                  receiver

Теперь с -R, забираем трафик с говнохоста себе
# iperf3 -c X.X.X.X -R -f m
Connecting to host X.X.X.X, port 5201
Reverse mode, remote host X.X.X.X is sending
[  7] local 192.168.16.2 port 59878 connected to X.X.X.X port 5201
[ ID] Interval           Transfer     Bitrate
[  7]   0.00-1.00   sec  5.30 MBytes  44.5 Mbits/sec                  
[  7]   1.00-2.00   sec  2.40 MBytes  20.2 Mbits/sec                  
[  7]   2.00-3.00   sec  1.84 MBytes  15.4 Mbits/sec                  
[  7]   3.00-4.00   sec  1.52 MBytes  12.8 Mbits/sec                  
[  7]   4.00-5.00   sec  1.54 MBytes  12.9 Mbits/sec                  
[  7]   5.00-6.00   sec  1.09 MBytes  9.10 Mbits/sec                  
[  7]   6.00-7.00   sec   923 KBytes  7.56 Mbits/sec                  
[  7]   7.00-8.00   sec   902 KBytes  7.39 Mbits/sec                  
[  7]   8.00-9.00   sec   943 KBytes  7.72 Mbits/sec                  
[  7]   9.00-10.00  sec   948 KBytes  7.76 Mbits/sec                  
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  7]   0.00-10.02  sec  19.3 MBytes  16.2 Mbits/sec  414             sender
[  7]   0.00-10.00  sec  17.3 MBytes  14.5 Mbits/sec                  receiver

Вот что за дела? На говнохост шлем трафик - все нормально.
Забираем трафик с него - сначала бёрст на фулспид, потом упираемся в 8 мегабит.

Нашел в той удаленной локалке рядом с говнохостом еще одну машину на линуксе (назовем ее контрольной для удобства в дальнейшем). Провел такие же тесты с ней. Нет таких проблем. И в одну и в другую сторону трафик ограничивает провайдер примерно на 50 мегабитах.

Ну и самая маковка. Подключаюсь по ssh на контрольную машину, пробую с нее iperf на говнохост, чтобы исключить влияние интернета. Тест в локалке получается. Вот результаты:

# iperf3 -c 192.168.88.66 -f m
Connecting to host 192.168.88.66, port 5201
[  5] local 192.168.88.2 port 59830 connected to 192.168.88.66 port 5201
[ ID] Interval           Transfer     Bitrate         Retr  Cwnd
[  5]   0.00-1.00   sec   111 MBytes   933 Mbits/sec    0    428 KBytes       
[  5]   1.00-2.00   sec   113 MBytes   945 Mbits/sec    0    428 KBytes       
[  5]   2.00-3.00   sec   112 MBytes   938 Mbits/sec    0    467 KBytes       
[  5]   3.00-4.00   sec   112 MBytes   942 Mbits/sec    0    467 KBytes       
[  5]   4.00-5.00   sec   113 MBytes   946 Mbits/sec    0    498 KBytes       
[  5]   5.00-6.00   sec   112 MBytes   939 Mbits/sec    0    498 KBytes       
[  5]   6.00-7.00   sec   112 MBytes   943 Mbits/sec    0    539 KBytes       
[  5]   7.00-8.00   sec   113 MBytes   947 Mbits/sec    0    539 KBytes       
[  5]   8.00-9.00   sec   112 MBytes   942 Mbits/sec    0    576 KBytes       
[  5]   9.00-10.00  sec   112 MBytes   939 Mbits/sec    0    576 KBytes       
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-10.00  sec  1.10 GBytes   941 Mbits/sec    0             sender
[  5]   0.00-10.00  sec  1.09 GBytes   939 Mbits/sec                  receiver

iperf Done.
# iperf3 -c 192.168.88.66 -f m -R
Connecting to host 192.168.88.66, port 5201
Reverse mode, remote host 192.168.88.66 is sending
[  5] local 192.168.88.2 port 59834 connected to 192.168.88.66 port 5201
[ ID] Interval           Transfer     Bitrate
[  5]   0.00-1.00   sec  93.9 MBytes   787 Mbits/sec                  
[  5]   1.00-2.00   sec  98.9 MBytes   829 Mbits/sec                  
[  5]   2.00-3.00   sec  93.9 MBytes   788 Mbits/sec                  
[  5]   3.00-4.00   sec  86.6 MBytes   726 Mbits/sec                  
[  5]   4.00-5.00   sec  86.9 MBytes   729 Mbits/sec                  
[  5]   5.00-6.00   sec  86.2 MBytes   724 Mbits/sec                  
[  5]   6.00-7.00   sec  85.8 MBytes   720 Mbits/sec                  
[  5]   7.00-8.00   sec  86.0 MBytes   722 Mbits/sec                  
[  5]   8.00-9.00   sec  90.5 MBytes   759 Mbits/sec                  
[  5]   9.00-10.00  sec   100 MBytes   839 Mbits/sec                  
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-10.00  sec   911 MBytes   764 Mbits/sec    0             sender
[  5]   0.00-10.00  sec   909 MBytes   762 Mbits/sec                  receiver

iperf Done.

Да, разница в скорости в зависимости от потока есть (хз чем ее объяснить), но в любом случае ниже 700 мегабит не опускалась.

Теперь пытаюсь сидя на контролной машине забрать с говнохоста файлы по rsync и scp - НЕТ ОГРАНИЧЕЙНИЙ, скорость упирается в скорость дисковой подсистемы. В локалке все нормально. При замерах iperf смотрел на загрузку ядер, ни одно из 4х ядер говнохоста не грузилось более 5%

Собственно теперь я вообще не понимаю как интерпретировать последние наблюдения...

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

При замерах iperf смотрел на загрузку ядер, ни одно из 4х ядер говнохоста не грузилось более 5%

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

Переобжимать не стал. Проверил лан тестером, патч-корд в порядке. Ну и судя по результатам iperf там поднят гигабит, а он как известно задейтсвует все пары. Дело в чем-то еще.

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

Ну и еще после всех тестов снял статистику по ошибкам сети - их нет.

[code]

ethtool -S eth0 | grep error

 tx_payload_error: 0
 tx_ip_header_error: 0
 overflow_error: 0
 ipc_csum_error: 0
 rx_crc_errors: 0
 fatal_bus_error_irq: 0
 phy_eee_wakeup_error_n: 0

ethtool -S eth0 | grep colli

 rx_collision: 0

[/code]

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

Переобжимать не стал. Проверил лан тестером, патч-корд в порядке

Ну... В подобном случае, я бы не заморачивался особо, а тупо ось переставил. Бы. Как говорится - одним махом. Я понимаю, тебе интересно «почему» такая фигня происходит. Мне тоже было интересно, пока начальник в задницу не вдарил сапогом. В переносном конечно смысле, но всё равно, больно. Переставь короче ось - и забудь это недоразумение.

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

На стороне говнохоста местный региональный провайдер, gpon, далее через конвертер в медь и на ней уже мой микротик, настройка IPoE
На второй стороне провайдер другой местечковый, медь, микротик PPtP
Хз на что вы намекаете... Поиграться с MTU?

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

Ну... В подобном случае, я бы не заморачивался особо, а тупо ось переставил. Бы.

Собсна ну ооочень интересна природа поведения этого говнохоста, так что еще некоторое время на него потрачу, благо возможность есть.
Так что, камрады, умные мысли приветствуются.

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

Да иди ты в... сам придумаешь куда.

Не совсем осознал на что ты триггернулся... Вроде с моей стороны в твой адрес негатива не было.

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

Ловил в этом году у себя ненормально медленную передачу с использование rsync over ssh. Дело оказалось в разных версиях rsync.

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

Не совсем осознал на что ты триггернулся... Вроде с моей стороны в твой адрес негатива не было.

Да ладно, забей. Бывает, фуле. Ты прогнал, я погорячился зря... Бывает.

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

Я думаю, он намекает на загрузиться с LiveUSB и посмотреть, не отпустит ли.

В целом я не понял (хотя я сегодня уже никакой), не объясняется ли твоя ситуация банальным «трафик в одну сторону режет провайдер».

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

Я думаю, он намекает на загрузиться с LiveUSB и посмотреть, не отпустит ли.

Кстати, дельное предложение. Однако.

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