Перейти к содержимому
Калькуляторы

Скорость TCP как правильно тестировать

Добрый день! Есть L2 1Гб канал между площадками. Проблема с низкой скоростью в один поток TCP. Не дотягивает даже до 50M

Меняли ключ  TCP Window на хостах --результата не дало
Замеры производятся iperf3. Хосты на облачной виртуализации расположены на обеих площадках
UDP трафиком канал продувается без проблем

Изменено пользователем zidan671

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Время присмотреться к параметрам -l и -t 

 

В целом в один поток обычно не тестят. В том числе потому, что вы будете ограничены мощностью одного ядра как на клиенте, так и на сервере.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

6 часов назад, zidan671 сказал:

Добрый день! Есть L2 1Гб канал между площадками. Проблема с низкой скоростью в один поток TCP. Не дотягивает даже до 50M

Меняли ключ  TCP Window на хостах --результата не дало
Замеры производятся iperf3. Хосты на облачной виртуализации расположены на обеих площадках
UDP трафиком канал продувается без пробле

А зачем вам один поток? Это какое то настолько старое по которое не умеет многопоточность? 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

14 hours ago, zidan671 said:

Меняли ключ  TCP Window на хостах --результата не дало

А вы думаете скорость TCP зависит от одного только параметра?)

Сейчас не 1980-е, хотя даже тогда параметров было больше.

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Цитата

А вы думаете скорость TCP зависит от одного только параметра?)

Сейчас не 1980-е, хотя даже тогда параметров было больше.

Нет, но везде он указывается как тот, который оказывает большое влияние и какая-то разница должна была быть при окне в 416К и 4M

 

Цитата

А зачем вам один поток? Это какое то настолько старое по которое не умеет многопоточность? 

У коллег есть задачи, которые требуют более менее скорости в 1 поток, я не говорю уже про гигабит, но такие результаты не радуют при стандартном тесте

g:~$ iperf3 -c 192.ч.ч.ч
[ ID] Interval           Transfer     Bitrate         Retr  Cwnd
[  5]   0.00-1.00   sec  3.48 MBytes  29.2 Mbits/sec   75    157 KBytes
[  5]   1.00-2.00   sec  3.54 MBytes  29.7 Mbits/sec   32    119 KBytes
[  5]   2.00-3.00   sec  2.98 MBytes  25.0 Mbits/sec    0    134 KBytes
[  5]   3.00-4.00   sec  1.74 MBytes  14.6 Mbits/sec   17    107 KBytes
[  5]   4.00-5.00   sec  1.74 MBytes  14.6 Mbits/sec    2   90.5 KBytes
[  5]   5.00-6.00   sec  2.24 MBytes  18.8 Mbits/sec    0    107 KBytes
[  5]   6.00-7.00   sec  2.80 MBytes  23.5 Mbits/sec    3   93.3 KBytes
[  5]   7.00-8.00   sec  1.74 MBytes  14.6 Mbits/sec   11   74.9 KBytes
[  5]   8.00-9.00   sec  1.74 MBytes  14.6 Mbits/sec    0   90.5 KBytes
[  5]   9.00-10.00  sec  1.86 MBytes  15.6 Mbits/sec    0    103 KBytes
 

C      увеличенным окном:
gornostaev@rostelectoml2:~$ iperf3 -c 192.ччч -w 4M
[ ID] Interval           Transfer     Bitrate         Retr  Cwnd
[  5]   0.00-1.00   sec  8.75 MBytes  73.4 Mbits/sec   91    194 KBytes
[  5]   1.00-2.00   sec  5.00 MBytes  41.9 Mbits/sec   18    100 KBytes
[  5]   2.00-3.00   sec  1.25 MBytes  10.5 Mbits/sec    0    116 KBytes
[  5]   3.00-4.00   sec  2.50 MBytes  21.0 Mbits/sec    8   97.6 KBytes
[  5]   4.00-5.00   sec  2.50 MBytes  21.0 Mbits/sec    0    115 KBytes
[  5]   5.00-6.00   sec  2.50 MBytes  21.0 Mbits/sec    0    124 KBytes
[  5]   6.00-7.00   sec  2.50 MBytes  21.0 Mbits/sec   13    109 KBytes
[  5]   7.00-8.00   sec  1.25 MBytes  10.5 Mbits/sec    9   89.1 KBytes
[  5]   8.00-9.00   sec  2.50 MBytes  21.0 Mbits/sec    0    103 KBytes
[  5]   9.00-10.00  sec  2.50 MBytes  21.0 Mbits/sec    0    119 KBytes



 

Цитата

В целом в один поток обычно не тестят. В том числе потому, что вы будете ограничены мощностью одного ядра как на клиенте, так и на сервере.

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

aegornostaev@webitel-sip:~$ iperf3 -c 192.x.x.x
[ ID] Interval           Transfer     Bitrate         Retr  Cwnd
[  5]   0.00-1.00   sec   281 MBytes  2.36 Gbits/sec    0   2.10 MBytes
[  5]   1.00-2.00   sec   394 MBytes  3.30 Gbits/sec    0   2.10 MBytes
[  5]   2.00-3.00   sec   404 MBytes  3.39 Gbits/sec    0   2.10 MBytes
[  5]   3.00-4.00   sec   382 MBytes  3.21 Gbits/sec    0   2.10 MBytes
[  5]   4.00-5.00   sec   399 MBytes  3.34 Gbits/sec    0   2.10 MBytes
[  5]   5.00-6.00   sec   408 MBytes  3.42 Gbits/sec    0   2.10 MBytes
[  5]   6.00-7.00   sec   458 MBytes  3.84 Gbits/sec    0   2.10 MBytes
[  5]   7.00-8.00   sec   435 MBytes  3.65 Gbits/sec    0   2.10 MBytes
[  5]   8.00-9.00   sec   441 MBytes  3.70 Gbits/sec  332   1.53 MBytes
[  5]   9.00-10.00  sec   489 MBytes  4.10 Gbits/sec    0   1.75 MBytes
 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

1 hour ago, zidan671 said:

Нет, но везде он указывается как тот, который оказывает большое влияние и какая-то разница должна была быть при окне в 416К и 4M

Гуглите интенсивнее и глубжее :)

Не помню как оно там в венде, net sh наверное чего то там, вроде aggressive или что то такое, чтобы работало лучше и не "режет скорость".

 

У меня на фре более 300 параметров касающихся только особенностей работы TCP, в венде даже по старой памяти их было с десяток.

Часть крутилась через реестр, а про net sh (на форуме тут обсуждалось), кажется jffulcrum должен знать.

В реестре тут: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Цитата

Гуглите интенсивнее и глубжее 🙂

Не помню как оно там в венде, net sh наверное чего то там, вроде aggressive или что то такое, чтобы работало лучше и не "режет скорость".

Этим и занимаюсь, параллельно пиная провайдера
Кстати машины не виндовые с IPERFом--Ubuntu 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

И если делаю тест до внешнего сервера публичного через другой канал, то результаты более интерересные и без всяких доп-парметров
gornost:~$ iperf3 -c ping.online.net -p 5209
Connecting to host ping.online.net, port 5209
[  5] local 10.0.15.18 port 56048 connected to 51.158.1.21 port 5209
[ ID] Interval           Transfer     Bitrate         Retr  Cwnd
[  5]   0.00-1.00   sec  14.1 MBytes   119 Mbits/sec    0   7.63 MBytes
[  5]   1.00-2.00   sec  41.2 MBytes   346 Mbits/sec    0   7.63 MBytes
[  5]   2.00-3.00   sec  45.0 MBytes   378 Mbits/sec    0   7.70 MBytes
[  5]   3.00-4.00   sec  41.2 MBytes   346 Mbits/sec    0   7.70 MBytes
[  5]   4.00-5.00   sec  41.2 MBytes   346 Mbits/sec    0   7.70 MBytes
[  5]   5.00-6.00   sec  45.0 MBytes   377 Mbits/sec    0   7.70 MBytes
[  5]   6.00-7.00   sec  41.2 MBytes   346 Mbits/sec    0   7.70 MBytes
[  5]   7.00-8.00   sec  41.2 MBytes   346 Mbits/sec    0   7.73 MBytes
[  5]   8.00-9.00   sec  41.2 MBytes   346 Mbits/sec    0   7.73 MBytes
[  5]   9.00-10.00  sec  45.0 MBytes   377 Mbits/sec    0   7.73 MBytes
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-10.00  sec   397 MBytes   333 Mbits/sec    0             sender
[  5]   0.00-10.09  sec   397 MBytes   330 Mbits/sec                  receiver
 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

10 hours ago, zidan671 said:

Кстати машины не виндовые с IPERFом--Ubuntu 

СС поставьте htcp или hybla для начала, потом тюнинг хотя бы тот что Сысоев описывал в 2007 году.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Цитата

СС поставьте htcp или hybla для начала, потом тюнинг хотя бы тот что Сысоев описывал в 2007 году.

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Материал для ознакомления: https://nag.ru/material/37838

 

Оно непросто, но даст понять, что разное оборудование у провайдеров по-разному управляет ресурсами и полосой. Чтобы получить ресурсы и полосу, вам надо создать нагрузку на ресурсы и полосу, а вы её не создаете! В режиме TCP размер блока у iperf (параметр l) по-умолчанию всего 128К, а время теста (параметр t) 10 секунд. Умный маршрутизатор/коммутатор провайдера даже не воспримет это, это не нагрузка, это так, мелкий бёрст. Чтобы получить "трубу" надо создать поток в "трубу", и надежнее всего делается это через многопоточность. Ну если так хочется в один поток, то создавайте "напор" - большие блоки и время теста минут 10, чтобы весь Интернет по пути осознал, проникся и вывалил нужные ресурсы - буферы, очереди и т.п. (ну или записал вас в потенциально нежелательную активность типа DOS и загнал в резервацию, такой исход тоже возможен).

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

В 26.01.2024 в 12:33, zidan671 сказал:

Добрый день! Есть L2 1Гб канал между площадками. Проблема с низкой скоростью в один поток TCP. Не дотягивает даже до 50M

Меняли ключ  TCP Window на хостах --результата не дало

Простой пинг-то запускали? Какая задержка?

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 смайлов.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.