Информация
Настройка
Новости
Контакты
Новинка
Распродажа
Оплата
Доставка
Загрузки
  • Прошивки
    • 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
    Проблема с загрузкой процессора CHR на 100% при использовании Xeon процессора с тактовой частотой 27 ГГц.

    Проблема с загрузкой процессора CHR на 100% при использовании Xeon процессора с тактовой частотой 27 ГГц.

    Форумы: RouterOS, Аппаратное обеспечение, SwOS, Обратная связь, Объявления, Сторонние инструменты
    Поиск  Пользователи  Правила  Войти
    Страницы: 1
    RSS
    Проблема с загрузкой процессора CHR на 100% при использовании Xeon процессора с тактовой частотой 27 ГГц., RouterOS
     
    scara89
    Guest
    #1
    0
    02.08.2017 17:54:00
    Здравствуйте, мы установили релиз CHR RouterOS на VMware VM, запущенную на выделенной физической машине в нашем датацентре. Он работает как PPPoE сервер в нашей сети, сейчас активно 1850 абонентов. В часы пик абоненты испытывают потерю пакетов при пинге хостов в интернете (то есть через PPPoE сервер).

    В эти моменты мы наблюдаем перегрузку некоторых виртуальных CPU согласно таблице использования процессора в разделе «Resources» RouterOS. Мы исключили другие виды проблем с транспортом — доказательством этому является то, что клиенты без проблем пингуют LAN-интерфейс PPPoE сервера, а сам сервер (через терминал) спокойно пингует интернет.

    Похоже, что CHR не может эффективно управлять доступными ядрами (он вроде распределяет нагрузку, но делает это неравномерно, что приводит к перегрузке cpu0 и cpu1). В результате часть vCPU остаётся менее задействованной. Графики производительности из vSphere показывают использование максимум 6000 МГц из 27000 МГц.

    Можете ли вы найти неправильные настройки в нашей конфигурации? Прикладываем supout, экспортированные настройки и скриншоты для вашего удобства.

    Заранее спасибо и всего доброго!
     
     
     
    karwos
    Guest
    #2
    0
    06.09.2017 20:12:00
    Вы пробовали выставить Latency Sensitivity: High в настройках виртуальной машины?
     
     
     
    karwos
    Guest
    #3
    0
    06.09.2017 20:17:00
    Также, какие у вас сетевые карты (NIC)? Возможно, стоит изменить параметр драйвера ядра nic в ESXi, чтобы было больше очередей tx/rx. RPS должен быть отключен, а мультиочередность по умолчанию установлена на интерфейсе nic. Кроме того, проверьте ресурсы -> irq (сколько очередей tx/rx доступно для vmxnet3). Мне кажется, что 35% нагрузки на Ethernet — это слишком много... Я могу помочь с этим.
     
     
     
    TomjNorthIdaho
    Guest
    #4
    0
    06.09.2017 20:25:00
    Автору оригинального сообщения — вы пробовали отключать Hyper-Threading? Для справки: Hyper-Threading — это встроенная функция многих новых процессоров Intel, представляющая собой полу-программную, полу-прошивочную, полу-аппаратную особенность, которая заставляет один процессор вести себя как будто их два. Если у вас многоядерный процессор, Hyper-Threading увеличивает количество видимых ядер вдвое.

    Hyper-Threading использует внутренние прерывания процессора по времени, которые работают так:
    #1 запускается Виртуальный процессор №1 из 2;
    #2 через мгновение останавливается Виртуальный процессор №1;
    #3 содержимое регистров процессора, используемых Виртуальным процессором №1, копируется в первую область памяти (попытка стека);
    #4 содержимое второй области памяти копируется в регистры процессора для Виртуального процессора №2 (запись в стек);
    #5 запускается Виртуальный процессор №2;
    #6 через мгновение он останавливается;
    #7 содержимое регистров Виртуального процессора №2 копируется во вторую область памяти (попытка стека);
    #8 содержимое первой области памяти копируется обратно в регистры для Виртуального процессора №1 (запись в стек);
    #9 переход к шагу №1 и цикл повторяется.

    Проблема в том, что оба Виртуальных процессора вместе имеют суммарную производительность чуть меньше, чем обычный процессор без Hyper-Threading. Почему? Потому что процессор постоянно выполняет операции Pop и Push стека, что отнимает время, которое могло бы быть использовано на полезные вычисления.

    Встроенный кэш процессора постоянно переобучается и переписывается, так как кэшируемая память теперь делится между двумя виртуальными процессорами. В процессоре без Hyper-Threading вероятность успешного попадания в кэш (Cache Hit) выше. А кэш работает на скорости процессора. При попадании в кэш процессор работает на полной скорости, а при промахе (Cache Miss) он замедляется до скорости памяти (с учётом возможных задержек).

    Итого, чем больше попаданий в кэш, тем быстрее работает система. Если объём используемой операционной системой памяти или программ небольшой, можно приблизиться к 100-процентному попаданию в кэш, что значительно ускорит работу.

    У Hyper-Threading есть свои плюсы и минусы. Если правильно подобрать железо и софт, система без Hyper-Threading может работать заметно быстрее.

    В качестве информации: одна из причин, почему я предпочитаю современные процессоры Xeon с большим объёмом кэша:
    А — более медленный Xeon с большим кэшем позволяет достигать почти 100% попаданий в кэш и работать почти всегда на максимальной тактовой частоте;
    Б — более быстрый Xeon с маленьким кэшом часто сталкивается с промахами, в результате чего процессор работает со скоростью памяти плюс задержки, что снижает производительность.

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

    Том Джонс из Северного Айдахо
     
     
     
    owaisoos
    Guest
    #5
    0
    08.09.2017 21:11:00
    У нас такая же проблема: пользователи сталкиваются с медленной работой и потерями свыше 3000 клиентов, причем значительные падения при количестве пользователей больше 3000. CHR использует 40% CPU, а загрузка процессора хоста не превышает 65%. Если подключено более 2000 клиентов, то результаты нормальные, но при количестве пользователей свыше 3000 нагрузка на CPU и использование данных на CHR остаются на одном уровне, и при этом возникают замедления в работе и большие потери пакетов.
     
     
     
    TomjNorthIdaho
    Guest
    #6
    0
    08.09.2017 22:50:00
    Помимо всего перечисленного, что я здесь написал... Если ваш CHR работает на гипервизоре (то есть на чем-то вроде VMware ESXi), есть несколько дополнительных фишек, которые можно использовать:

    На физическом сервере удалите все ненужные устройства (CDROM, последовательные порты, параллельные порты, дисководы и т.д.).  
    В BIOS на физическом сервере отключите все ненужные устройства (CDROM, последовательные порты, параллельные порты, дисководы и т.д.).  
    В BIOS на физическом сервере переключите все настройки на производительность вместо стандартных режимов энергосбережения.  
    На физическом сервере по возможности старайтесь, чтобы два устройства не использовали одинаковый прерывающий сигнал CPU. Например, если две сетевые карты используют один и тот же прерыватель, операционная система хоста тратит время, пытаясь определить, какое устройство требует внимания, и это снижает производительность процессора для выполнения других задач.  
    В гипервизоре физического сервера переведите все виртуальные диски всех виртуальных машин в формат THIN.  
    В гипервизоре физического сервера отключите логирование.  
    По возможности используйте два физических сервера: один для важных и быстрых виртуальных задач, а второй — для всех прочих менее приоритетных гостевых операционных систем.  

    Также...  
    На виртуальной машине удалите все ненужные виртуальные устройства (CDROM, последовательные порты, параллельные порты, дисководы и т.д.).  
    В виртуальном BIOS отключите все ненужные устройства (CDROM, последовательные порты, параллельные порты, дисководы и т.д.).  
    По возможности используйте паравиртуальные устройства (драйверы устройств). Паравиртуальные устройства — это виртуальные устройства с драйверами, оптимизированными для более быстрой и эффективной работы в среде гипервизора. Например, в VMware ESXi такими устройствами являются сетевые карты “VMXNET-3” и контроллеры SCSI “VMware Paravirtual”.  
    Если у вас есть 10-ядерный процессор Xeon (с отключённым Hyper-Threading), количество CPU, выделяемых всем гостевым операционным системам, должно быть не более 9. Избегайте перегрузки CPU и памяти. Перегрузка CPU и памяти заставляет физический гипервизор начинать свопинг.
     
     
     
    TomjNorthIdaho
    Guest
    #7
    0
    08.09.2017 22:57:00
    Одно из возможных решений для создания действительно быстрого CHR — это перевести виртуальную систему CHR в физическую коробку (без гипервизора — CHR будет единственной загруженной операционной системой). Также — немного по теме: в ROS или CHR-ROS по возможности избегайте использования мостов. Программные мосты отнимают ресурсы у процессора для других задач. Если нужно объединить сеть, используйте физический Ethernet-коммутатор. По возможности ставьте IP-адрес прямо на интерфейс, а не на мост. Ещё — чем больше у вас фильтров на файерволе, тем сильнее всё тормозит. К тому же — приличная система CHR или x86 ROS должна без проблем выполнять “UDP send” с помощью tools-btest на 127.0.0.1 со скоростью выше 17 Гиг! Если вы не можете достичь такого результата, значит, у вас слабая физическая машина. И ещё — по возможности избегайте использования 1-Гиговых Ethernet-интерфейсов. В центре обработки данных с высокой нагрузкой должны использоваться 10-Гиговые коммутаторы и 10-Гиговые Ethernet-интерфейсы во всём оборудовании.
     
     
     
    owaisoos
    Guest
    #8
    0
    09.09.2017 01:48:00
    Дорогой Том, да, я знал про настройку виртуалки, на самом деле мы использовали специализированную сетевую карту высокого класса, но всё равно без толку. Одна из моих задач загружает CPU хоста на 100% при 2G, но ситуация не меняется: с каждым разом к системе подключается больше пользователей, а передача данных не превышает 2G.

    Ещё заметил одну проблему: приходит сообщение, что пакет 1522 не может быть отправлен через MTU больше 1500 на моём хосте, так как CHR L2 равен 0, а Mikrotik отключил возможность редактирования в этом разделе. Не понимаю, почему они не установили MTU на 10G L2 выше 10G синхронного интерфейса, а просто зашили 0 — это совсем непредсказуемо.

    Я пробовал btest с тремя CCR и спокойно получал 3G по UDP, но при нагрузке пользователей всё ухудшается, как я уже говорил выше.
     
     
     
    owaisoos
    Guest
    #9
    0
    09.09.2017 01:59:00
    После вторых правок у меня на хосте снизилась загрузка ЦП, но при этом пропускная способность CHR тоже упала. После последних изменений CHR даже теряет данные при скорости от 1400 до 1500 Мбит/с. У меня есть ещё CCR1072 с похожими проблемами, и другие пользователи тоже жаловались на это в продакшене. Я надеялся, что у CHR таких проблем не будет, учитывая, что Mikrotik заявляет о его поддержке виртуализации и оптимизации для нее.
     
     
     
    TomjNorthIdaho
    Guest
    #10
    0
    13.09.2017 00:20:00
    Это довольно интересно. Мне удалось добиться скорости выше 8 Гбит/с при маршрутизации между виртуальным CHR, запущенным на одном VMware ESXi сервере, и виртуальным x86 ROS, размещённым на совершенно другом VMware ESXi сервере — при этом два других виртуальных x86 сервера выполняли btest, где сессии btest маршрутизировались на уровне третьего слоя.

    VMware ESXi сервер №1 — btest сервер (подключён через 10-гигабитный Ethernet к серверу №2)  
    VMware ESXi сервер №2 — CHR маршрутизирует ненатированную LAN с сервера 1 на сервер 4 (через сервер 2)  
    VMware ESXi сервер №3 — x86 ROS маршрутизирует ненатированную LAN с сервера 4 на сервер 1 (через сервер 2)  
    VMware ESXi сервер №4 — x86 ROS система выполняет btest на x86 ROS на сервере №1

    Всё подключено по 10-гигабитной сети.  
    Все x86 ROS и CHR системы размещены на четырёх разных физических серверах VMware ESXi.  
    Без NAT, без фаерволлов.  
    Сессии btest маршрутизировались с сервера №4 на сервер №1 (никаких btest сессий в одной сети — так что маршрутизация была обязательной).

    Мне удалось удерживать устойчивую скорость передачи UDP выше 8 Гбит/с.

    North Idaho  
    Tom Jones
     
     
     
    TomjNorthIdaho
    Guest
    #11
    0
    13.09.2017 02:09:00
    Боже мой, я полностью уверен, что VMware на XEON E5410 @2.33 GHz (2 физических процессора с 4 ядрами, Hyper-Threading отключён) на Dell PowerEdge 2950 с 16 гигабайтами оперативки — это самая медленная штука, с которой я когда-либо сталкивался. На всё уходит целая вечность. Мои SuperMicros с процессорами XEON E5-2960 V2 на частоте 3.00 GHz вообще несутся, как сумасшедшие, по сравнению с Dell на XEON E5410. Думаю, что у меня нет ошибок в конфигурации. Советую всем, кто использует XEON E5410 (первую версию), выбросить эту физическую машину и взять что-то помощнее для своего гипервизора. Особенно если вы запускаете виртуальный роутер, типа CHR или x86 ROS. North Idaho Tom Jones
     
     
     
    owaisoos
    Guest
    #12
    0
    14.09.2017 19:41:00
    Дорогой Том/эксперты, возможно, вы достигли такой пропускной способности на трафике L3 с помощью Btest, у меня тоже получается примерно 3G и более с нашими тремя CCR в роли клиента и CHR в роли сервера. Но в реальной эксплуатации CHR меня очень разочаровал при работе с туннельным трафиком. Я уже тестировал PPTP и PPPoE, как говорил раньше, CHR теряет пакеты и при использовании PCQ, и при Dynamic Simple Queue. Я проверил программное обеспечение гипервизора, там на основном интерфейсе ни одного сбоя пакетов не наблюдается — проверял на Esxi HOST. К тому же я использую сервер HP серии G8 с двумя восьмиядерными процессорами.
     
     
     
    owaisoos
    Guest
    #13
    0
    14.09.2017 19:45:00
    Дорогой Том, будь добр, поделись своим файлом конфигурации VMX, если у тебя есть такая возможность.
     
     
     
    Страницы: 1
    Читают тему
    +7 495 320-55-52
    info@mikrotik.moscow
    Электрозаводская, Бауманская
    Москва, ул. Бакунинская, 84с21
    Конфиденциальность Оферта
    © 2025 «Mikrotik.Moscow»
    Главная Каталог 0 Корзина 0 Избранные Кабинет 0 Сравнение Акции Контакты Услуги Бренды Отзывы Компания Лицензии Документы Реквизиты Поиск Блог Обзоры