Jump to content
Калькуляторы

iperf vs btest Сильно разнятся результаты

Доброе времени суток, уважаемые форумчане.

Назрел насущий вопрос.

Почему так разнятся результаты двух программ:

  • iperf
  • btest от MIkroTik

Меряю скорость в локалке. Средняя загрузка локалки очень низкая и равномерная по времени, но результаты очень разнятся:

iperf:

[156] local 192.168.88.11 port 55900 connected with 192.168.88.2 port 5001

[ ID] Interval Transfer Bandwidth

[156] 0.0- 1.0 sec 4.00 MBytes 33.6 Mbits/sec

[156] 1.0- 2.0 sec 3.88 MBytes 32.5 Mbits/sec

------------------------------------------------------------

И btest от Mikrotik:

Receive(TCP): 3.7-5 Mbps

Send(TCP): 3-12 Mbps

Both(TCP): 1.8(rx)/2(tx) Mbps - 2.5(rx)/2.9(tx) Mbps

 

Receive(UDP): 7.2-.7.5 Mbps

Send(UDP): 12.6-13.5 Mbps

Both(UDP): 1.8(rx)/2(tx) Mbps - 7.9(rx) Mbps / 3.6(tx) Mbps

 

Скорость передачи файла размером 1.52 гб по сети через Тотал Командер между двумя хостами порядка 5 000 кбайт/с (39.0625 Mbit/s)

------------------------------------------------------------

Мерил скорость меду двумя хостами:

Хост1(Windows 7 Pro x32) ------ethernet----Mikrotik751g----WiFi(n)----хост2(Windows 7 Home Premium x64)

На Хост1 запускал iperf в режиме сервера (iperf -s), btest так же запускал в режиме сервера (в настройках галочку выставил)

Тестил скорость с хоста2.

 

До Микротика btest так же не адекватно показывает скорость.

Версия RoOS 5.23/ current-firmware: 3.02

 

В чем может быть проблема?

К сожалению, для меня это понять очень важно.

Какие у вас есть предположения?

Share this post


Link to post
Share on other sites

Проблема в том, что скорость у вас постоянная и не меняется: 100 мегабит, а измеряете вы общую производительность: девайс 1 + сеть....сеть + девайс 2.

В случае вайфая вообще дофига факторов которые трудно учитывать, особенно не зная о чём речь.

Конкретно btest мне загружал гигабит по проводу в оба конца одновременно между двумя виндовсами, и только после того как я запустил 5-6 потоков одновременно. И сжирал при этом оба проца полностью (E5300 и E8400).

Когда btest запущен на микротико девайсе то он у микротика отжирает проц, а там и так не очень то производительный.

Микротику куда проще гонять пакеты сквозь себя, чем самому их генерировать или получать. (при получении пакет падает из ядра в юзер спейс, при бриджинге/роутинге он не покидает ядра).

Ещё могут быть скрытые оптимизации/приоритезации при пересылке по вафле.

Share this post


Link to post
Share on other sites

Ivan_83исходя из выше сказанного напрашивается вывод, что btest не подходит для теста скоростей между двумя хостами под не RoOS?

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

Когда запускаю btest, то на хосте, где он выступает в роли сервера отъедается одно ядро. И то всего на 50%.

И при этом, btest по сравнению с iperf показывает на 10-15 мегабит меньше. Так кому из них верить?)

По поводу WIFI.. Я запускал при прочих равных условиях сначала btest, затем iperf - результаты очень разнятся между данными двумя способами. Скорость стабильная. Ибо при перекачки файлов тотал командер показывает стабильно 5 мегабайт в секунду.

Edited by x-system

Share this post


Link to post
Share on other sites

Странно все это. Разобрался кое в чем. Если запускать 4-5 потоков c btest, то процессор реально нагружается до 100%. Даже 4 или 8ми ядерный. И тогда, судя по показаниям с интефрейсов микротика, между хостами идет обмен с максимальной возможной скоростью. Но если запустить один поток, то процессор не загружается, больше, чем на 12-18%, но и скорость выше 1.5 не поднимается.

Что это за ограничение такое? И как его побороть? Или же это издержки алгоритмов самого btest?

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

kayot

Некоторые сборки глюченные. У меня нивкакую не захотел сервер в качестве службы виндовой устанавливаться. Да и Nuttcp показался мне удобнее. Ну это уже как бы на вкус и цвет...

Share this post


Link to post
Share on other sites

У винды есть особенность сетевого стёка (или это где в конкретных дровах сетевух), в общем, там пока один поток льёшь оно проц не сильно грузит, а когда потоков становится больше то загрузка проца повышается в геометрической прогрессии (или чуть меньше, но не линейно).

Share this post


Link to post
Share on other sites

Join the conversation

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

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.