Информация
Настройка
Новости
Контакты
Новинка
Распродажа
Оплата
Доставка
Загрузки
  • Прошивки
    • WinBox
    • RouterOS
    • Мобильные приложения MikroTik
    • Архив
  • Changelogs
  • RouterOS
  • Мобильные приложения MikroTik
  • Архив
Форум
Услуги
  • Внедрение
  • Настройка
  • Поддержка
  • Ремонт
    info@mikrotik.moscow
    +7 495 320-55-52
    Заказать звонок
    Mikrotik.moscow
    Каталог
    • Акции
      Акции
    • Маршрутизаторы
      Маршрутизаторы
    • Коммутаторы
      Коммутаторы
    • Радиомосты и уличные точки доступа
      Радиомосты и уличные точки доступа
    • Wi-Fi для дома и офиса
      Wi-Fi для дома и офиса
    • LTE/5G
      LTE/5G
    • Powerline адаптеры
      Powerline адаптеры
    • IoT устройства
      IoT устройства
    • Оборудование 60 ГГц
      Оборудование 60 ГГц
    • Материнские платы RouterBOARD
      Материнские платы RouterBOARD
    • Корпуса
      Корпуса
    • Интерфейсы
      Интерфейсы
    • SFP/QSFP трансиверы
      SFP/QSFP трансиверы
    • Аксессуары
      Аксессуары
    • Антенны
      Антенны
    • Архив
      Архив
    Войти
    0 Сравнение
    0 Избранное
    0 Корзина
    Скачать WinBox Скачать Прошивки Форум > RouterOS Форум > SwOS Форум > Железо
    Mikrotik.moscow
    Каталог
    Войти
    0 Сравнение
    0 Избранное
    0 Корзина
    Mikrotik.moscow
    Телефоны
    +7 495 320-55-52
    Заказать звонок
    0
    0
    0
    Mikrotik.moscow
    • +7 495 320-55-52
      • Назад
      • Телефоны
      • +7 495 320-55-52
      • Заказать звонок
    • info@mikrotik.moscow
    • г. Москва, ул. Бакунинская, 84
    • Пн-Пт: 09-00 до 18-00
      Сб-Вс: выходной


    • Кабинет
    • 0 Сравнение
    • 0 Избранное
    • 0 Корзина
    Главная
    Форум
    RouterOS
    Тест пропускной способности в скрипте

    Тест пропускной способности в скрипте

    Форумы: RouterOS, Аппаратное обеспечение, SwOS, Обратная связь, Объявления, Сторонние инструменты
    Поиск  Пользователи  Правила  Войти
    Страницы: 1
    RSS
    Тест пропускной способности в скрипте, RouterOS
     
    crovax
    Guest
    #1
    0
    10.11.2007 12:48:00
    Привет! Я пытаюсь написать скрипт, который делает тест скорости и сохраняет средние значения за 10 секунд. В скрипте есть следующие строки:
    :global i 5
    ;/tool bandwidth-test 10.140.14.11 duration=5s direction=transmit user=admin password=*****
    do (:set i $tx-10-second-average; :log info “$i”; }

    Когда я запускаю скрипт, он логирует только одно значение — 0. Когда я запускаю эти две строки из командной строки, он логирует каждое значение. Я понял, что когда я запускаю скрипт, кажется, что он не запускает команду bandwidth для указанной длительности. Поэтому он всегда возвращает 0, потому что это первое значение, когда bandwidth-test пытается подключиться.

    Также, если запустить следующее в командной строке:
    /tool bandwidth-test 10.140.14.11 duration=5s direction=transmit user=admin password=***** file=bw

    то создается файл bw с только одной записью:
    status: connecting
    duration: 0s
    tx-current: 0bps
    tx-10-second-average: 0bps
    tx-total-average: 0bps
    random-data: no
    direction: transmit
    tx-size: 1500

    Есть какие-нибудь идеи? Может быть, я что-то делаю не так? Какие-нибудь другие решения? Спасибо!
     
     
     
    psamsig
    Guest
    #2
    0
    16.09.2014 19:33:00
    Я знаю, что это старая тема, но раз на неё никогда не ответили и она появляется в первой выдаче при поиске, выложу свои находки: /tool {
       :local txAvg 0
       :local rxAvg 0
       bandwidth-test 1.2.3.4 duration=20s direction=both user=BTestClient password=******** do={
           :if ($txAvg < $"tx-10-second-average") do={
               :set txAvg $"tx-10-second-average"
           }
           :if ($rxAvg < $"rx-10-second-average") do={
               :set rxAvg $"rx-10-second-average"
           }
       }
       :put ("tx: " . ($txAvg / 1024) . " rx: " .  ($rxAvg / 1024))
    } Обратите внимание, что все свойства, в названии которых есть дефис, должны быть заключены в кавычки (например, $“tx-10-second-average”). $status проходит через значения “connecting”, “running” и “done testing” (предполагая, что он может подключиться). Судя по всему, минимальные политики для btest клиента – ‘winbox’ и ‘test’.
     
     
     
    dyadya
    Guest
    #3
    0
    07.08.2013 08:43:00
    У меня та же проблема…
     
     
     
    dyadya
    Guest
    #4
    0
    07.08.2013 10:41:00
    Та же самая проблема…
     
     
     
    plisken
    Guest
    #5
    0
    21.01.2015 12:14:00
    Кто-нибудь пробовал? Как отправить результат по почте? Без Gmail.
     
     
     
    qiet72
    Guest
    #6
    0
    12.01.2018 10:30:00
    Привет! Я попробовал твой скрипт, и он работает отлично. Только вот расчет немного неверный. Мы работаем с передаточной скоростью, а не с объёмом данных. Передаточная скорость измеряется в битах в секунду, а объём данных — в байтах. Так что вот это не совсем правильно: `:put ("tx: " . ($txAvg / 1024) . " rx: " .  ($rxAvg / 1024))` Следует использовать: `:put ("tx: " . ($txAvg / 1000) . " rx: " .  ($rxAvg / 1000))`

    Qiet72
     
     
     
    qiet72
    Guest
    #7
    0
    12.01.2018 11:17:00
    После экспериментов с твоим скриптом, я обнаружил, что результаты выдачи на самом деле довольно непоследовательны по сравнению с тем, что показывает инструмент "bandwidtht-test". После некоторого тестирования, я наконец-то добился последовательности. Вот получившийся скрипт: /tool { :local rxAvg 0 :local txAvg 0 bandwidth-test 1.2.3.4 duration=20s direction=both protocol=tcp user=btuser password=xxxxxxx do={ :set rxAvg ($“rx-10-second-average”/1000) :set txAvg ($“tx-10-second-average”/1000) } :put “Rx/Tx: $rxAvg/$txAvg Kbps” } Qiet72
     
     
     
    psamsig
    Guest
    #8
    0
    12.01.2018 11:47:00
    Как это возможно? Я лично планировал использовать максимальное среднее значение за 10 секунд в течение 20-секундного периода, и, по-моему, выбор «настоящего» среднего значения – это дело вкуса? (И 1000 и 1024 – это одно и то же, если вы последовательны в том, с чем сравниваете).
     
     
     
    qiet72
    Guest
    #9
    0
    12.01.2018 13:43:00
    Понял, в чем дело. В твоем скрипте переменные ?xAvg устанавливаются в максимальный битрейт во время теста. Раз в начале теста может быть всплеск, записывать это не имеет смысла. Лучше записывать "на протяжении всего времени" средний битрейт за 10 секунд – вот почему я постоянно записываю средний битрейт за 10 секунд до окончания теста. Qiet72
     
     
     
    Страницы: 1
    Читают тему
    +7 495 320-55-52
    info@mikrotik.moscow
    Электрозаводская, Бауманская
    Москва, ул. Бакунинская, 84с21
    Конфиденциальность Оферта
    © 2025 «Mikrotik.Moscow»
    Главная Каталог 0 Корзина 0 Избранные Кабинет 0 Сравнение Акции Контакты Услуги Бренды Отзывы Компания Лицензии Документы Реквизиты Поиск Блог Обзоры