Информация
Услуги
  • Внедрение
  • Настройка
  • Поддержка
  • Ремонт
Контакты
Новинка
Распродажа
Новости
Доставка
Оплата
Загрузки
  • Прошивки
    • 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
    Проблемы с bonding производительностью

    Проблемы с bonding производительностью

    Форумы: RouterOS, Аппаратное обеспечение, SwOS, Обратная связь, Объявления, Сторонние инструменты
    Поиск  Пользователи  Правила  Войти
    Страницы: 1
    RSS
    Проблемы с bonding производительностью, RouterOS
     
    rsanso
    Guest
    #1
    0
    02.01.2007 20:24:00
    Привет всем. У меня несколько проблем с производительностью агрегации каналов. Идея заключалась в объединении двух Mikrotik боксов с помощью bondingrr (балансировка нагрузки и отказоустойчивость). Они должны быть соединены беспроводной связью, сейчас я тестирую это с парой патчкордов между ними, так что напрямую соединены рабочими cat5 патчкордами. У меня бокс1 с 3 ethernet интерфейсами: box1lan1 и box1lan2, оба 100mbps, и сконфигурированы как bonding1 с bondingrr. Другой интерфейс соединен с компьютером на 100mbps full duplex. У меня бокс2 с 3 ethernet интерфейсами: box2lan1 и box2lan2, оба 100mbps, и сконфигурированы как bonding1 с bondingrr. Другой интерфейс соединен с компьютером на 100mbps full duplex. Проблема в том, что если я пытаюсь маршрутизировать через bonding интерфейс, то это работает, но я не получаю больше 60mbps между компьютерами при TCP тесте пропускной способности от одного компьютера к другому. CPU Mikrotik боксов - Pentium 3 1000mhz, и она не работает на 100%. Также ничего больше не настроено, только пара IP-адресов для интерфейсов lan и bonding1, и статический маршрут, чтобы все работало. Потерянных пакетов тоже нет. Я хотел бы знать, сталкивался ли кто-нибудь с такой проблемой и знает ли решение. Мне кажется, что что-то не так с программным обеспечением или реализацией bonding, которое не работает хорошо, потому что я очень далек от получения половины теоретической доступной пропускной способности, и если посмотреть на ресурсы CPU, то Mikrotik боксы показывают неиспользуемую CPU мощность. Версия, установленная на сегодняшний день - 2.29.37. Спасибо за вашу помощь и извините за мой плохой английский.
     
     
     
    janisk
    Guest
    #2
    0
    03.01.2007 10:41:00
    Попробуй запускать BT через твои роутеры, а не от роутера к роутеру, потому что BT очень сильно нагружает процессор.
     
     
     
    rsanso
    Guest
    #3
    0
    03.01.2007 14:22:00
    Я не использую тесты пропускной способности на роутерах. Я использую утилиту для проверки пропускной способности на компьютерах. Проверка пропускной способности происходит от компьютера к компьютеру через Mikrotik boxes. Загрузка процессора роутеров ни в одном случае не превышает 50% во время тестов.
     
     
     
    andreacoppini
    Guest
    #4
    0
    03.01.2007 14:25:00
    Попробуй провести тест скорости прямо с роутеров. Возможно, узким местом являются сетевые карты твоих компьютеров, особенно если они дешевые или встроенные. —РЕДАКТОР— Только что увидел, что ты упоминаешь 60 Мбит/с. Это часто случается, если ты работаешь в полудуплексном режиме (или, что еще хуже, с несовпадающими настройками дуплекса). Установи все интерфейсы (как на компьютерах, так и на MT) на работу в режиме 100 Мбит/с, полный дуплекс.
     
     
     
    rsanso
    Guest
    #5
    0
    03.01.2007 15:17:00
    Я тоже провёл этот тест с одного компьютера на другой, без Mikrotik между ними, чтобы исключить проблемы с сетевыми картами и кабелем, и получил 94 мбит/с. Так что, думаю, проблема не в компьютерах. Дуплекс и пропускная способность определяются автоматически, и, думаю, это 100 Мбит/с в полнодуплексном режиме. Спасибо за ответ.
     
     
     
    andreacoppini
    Guest
    #6
    0
    03.01.2007 15:49:00
    Это может быть проблемой. Отключите автоматическое согласование на Mikrotik и ПК, и выберите вручную 100 Мбит/полнодуплексный режим.
     
     
     
    rsanso
    Guest
    #7
    0
    03.01.2007 16:34:00
    Отключил автосогласование на всех интерфейсах, компьютерах и Mikrotik. Всё работает на 100 Мбит/с в полнодуплексном режиме без автосогласования. Повторил тест ещё раз – результат тот же (около 55 Мбит/с) в TCP-соединении между двумя компьютерами при использовании bonding на Mikrotik. Спасибо ещё раз.
     
     
     
    sten
    Guest
    #8
    0
    03.01.2007 16:39:00
    Я отключил автоматическую настройку для всех интерфейсов, компьютеров и Mikrotik. Всё работает на 100 мегабит в секунду, полнодуплексное соединение, без автоматической настройки. Повторил тест, и результаты те же (около 55 мегабит в секунду) в TCP-соединении между двумя компьютерами при использовании агрегации на Mikrotik. Спасибо ещё раз.

    Ты угадал! Агрегация + TCP = низкая производительность. TCP не любит переупорядочивание пакетов.
     
     
     
    rsanso
    Guest
    #9
    0
    03.01.2007 16:52:00
    Ну ладно. Я ещё тестировал с UDP, но и там получаю ненамного больше 5 Мбит/с! по сравнению с тестами через TCP. Когда я посмотрел инструкцию, там написано: “balance-rr - балансировка нагрузки методом круговой очереди. Слейвы в интерфейсе bonding будут передавать и получать данные в последовательном порядке. Обеспечивает балансировку нагрузки и отказоустойчивость.” У меня есть отказоустойчивость и балансировка нагрузки, но пропускная способность слишком плохая для меня. Если я соединяю (bonding) два интерфейса по 100 Мбит/с каждый, то теоретический максимум должен быть 200 Мбит/с, а несмотря на то, что я использую TCP или UDP, я едва ли превышаю половинную пропускную способность, предоставляемую только одним интерфейсом отдельно! Возможно, были проблемы с порядком пакетов и большая нагрузка на обработку, но там всего два хопа сети, только два компьютера и больше ничего, поэтому мне кажется странным, что переупорядочение пакетов может так сильно снижать пропускную способность.
     
     
     
    sten
    Guest
    #10
    0
    03.01.2007 17:42:00
    Предполагая, что эти маршрутизаторы будут перенаправлять трафик с компьютеров, подключенных "через" них, тебе также нужно протестировать их пропускную способность, используя дополнительные компьютеры.
     
     
     
    sten
    Guest
    #11
    0
    03.01.2007 17:47:00
    Кстати, RR-связь на практике никогда не достигнет совокупной пропускной способности двух каналов. (Из-за различий в размере пакетов). Настройки, которые сейчас кажутся рабочими, скорее всего, будут работать плохо, когда вы действительно включите радиостанции для работы. Попробуйте эти каналы с 10-мегабитными полудуплексными соединениями Ethernet, чтобы лучше имитировать условия, в которых они будут использоваться. Купи мне пива!
     
     
     
    changeip
    Guest
    #12
    0
    03.01.2007 20:24:00
    Мы довольно много экспериментировали с агрегацией (bonding). Натыкались на повторные передачи пакетов, потому что даже несмотря на то, что у 3 кабельных модемов был одинаковый QoS, у них не было абсолютно одинаковых скоростей. Если один из трех пакетов выходит из порядка, ты, по сути, пересылаешь все три, чтобы вернуть их в порядок. Так что 100мб + 100мб канала теоретически равны 200мб, но когда ты добавляешь поверх этого TCP, вероятно, сможешь проталкивать только 66% (из-за накладных расходов на повторные передачи TCP). Вот отличная статья, которая объясняет это намного лучше, чем я могу: http://linux-net.osdl.org/index.php/Bonding “balance-rr - Этот режим является единственным, который позволит одному TCP/IP-соединению распределять трафик по нескольким интерфейсам. Поэтому это единственный режим, который позволит одной TCP/IP-потоку использовать пропускную способность более чем одного интерфейса. Однако это достигается определенной ценой: распределение часто приводит к тому, что удаленные системы получают пакеты не по порядку, что приводит к срабатыванию системы управления перегрузками TCP/IP, часто путем повторной передачи сегментов.” "Для четырех интерфейсных агрегированных соединений balance-rr, ожидайте, что один TCP/IP-поток будет использовать не более чем примерно 2,3 интерфейса пропускной способности, даже после корректировки tcp_reordering." "Если вы используете протоколы, отличные от TCP/IP, например UDP, и ваше приложение может tolerate доставку пакетов не по порядку, то этот режим может позволить масштабировать производительность потока данных near linearly, по мере добавления интерфейсов в агрегат." Мне кажется, что на агрегации MT можно было бы сделать какую-то оптимизацию… но выглядит так, что они взяли ту, что на URL выше, и просто вставили ее в ROS почти как есть. По крайней мере, что-то есть, правда? : )
     
     
     
    normis
    Guest
    #13
    0
    04.01.2007 06:43:00
    Здесь также можно почитать: http://wiki.mikrotik.com/wiki/MUM_2006_USA/Bonding
     
     
     
    rsanso
    Guest
    #14
    0
    04.01.2007 07:54:00
    Спасибо всем за помощь. Посмотрю ссылки и проведу дополнительные тесты.
     
     
     
    sten
    Guest
    #15
    0
    04.01.2007 15:22:00
    Отлично сказано, мистер ChangeIP!
     
     
     
    andreacoppini
    Guest
    #16
    0
    12.09.2008 12:56:00
    Совет для MT: Многие хотели бы использовать объединение (bonding), но многие сталкиваются с некорректными замедлениями. Почему бы не реализовать буфер, который переупорядочивает пакеты перед отправкой на интерфейс 'outgoing'? Можно реализовать счетчик на стороне 'sending', а сторона 'receiving' будет использовать этот счетчик для переупорядочивания пакетов. Буфер может быть как маленький – всего один пакет с каждого интерфейса bonding, ведь интерфейс 'transmitting' будет отправлять пакеты последовательно.
     
     
     
    butche
    Guest
    #17
    0
    12.09.2008 20:11:00
    Еще один подход, который работает немного лучше (хотя и совсем чуть-чуть, учтите), — это делать маршрутизацию по кругу вручную. Я это делал, и это работает очень хорошо. Я не буду писать для вас весь скрипт, но вот подход: |          | -> link1 <- |       |
    LAN -> |  MT1   |                | MT2 | <- Другая LAN
             |          | -> link2 <- |        | Простите за убогий ASCII-арт. Итак, что вам нужно сделать в MT1: /ip route
    add gateway=MT2LINK1 routing-mark=LINK1
    add gateway=MT2LINK2 routing-mark=LINK2
    /ip route rule
    add routing-mark=LINK1 action=lookup table=LINK1
    add routing-mark=LINK2 action=lookup table=LINK2

    /ip firewall mangle
    add chain=forward action=mark-routing new-routing-mark=LINK1 nth=2,1 passthrough=no
    add chain=forward action=mark-routing new-routing-mark=LINK2 nth=2,2 passthrough=no На MT2 вы делаете то же самое, но, конечно, шлюзы не те. Это работает довольно неплохо. Единственная проблема с этим подходом в том, что он не автоопределяет сбои. Чтобы это получить, вы можете сделать что-то вроде этого (в маршрутах): /ip route
    add gateway=MT2LINK1 routing-mark=LINK1 check-gateway=ping distance=0
    add gateway=MT2LINK2 routing-mark=LINK1 distance=200
    add gateway=MT2LINK2 routing-mark=LINK2 check-gateway=ping distance=0
    add gateway=MT2LINK1 routing-mark=LINK2 distance=200 В различных ситуациях я использовал эту функциональность, и она прекрасно справляется.
     
     
     
    Страницы: 1
    Читают тему
    +7 495 320-55-52
    info@mikrotik.moscow
    Электрозаводская, Бауманская
    Москва, ул. Бакунинская, 84с21
    Конфиденциальность Оферта
    © 2026 «Mikrotik.Moscow»
    Главная Каталог 0 Корзина 0 Избранные Кабинет 0 Сравнение Акции Контакты Услуги Бренды Отзывы Компания Лицензии Документы Реквизиты Поиск Блог Обзоры