The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Релиз netutils-linux 2.5, утилит для мониторинга и тюнинга сетевого стека Linux

17.10.2017 11:53

Представлен выпуск проекта netutils-linux 2.5.0, в рамках которого развивается набор утилит для мониторинга и тюнинга производительности сетевого стека Linux. Исходные тексты проекта написаны на Python (поддерживаются python 2.6+ и 3.4+) и поставляются под лицензией MIT.

Цель проекта - упростить и унифицировать процесс настройки сетевого стека и сетевых карт, снизив необходимость разбираться в устройстве сетевого стека для рядовых системных администраторов (и снизить объём вычислений в уме: маски CPU, соответствие CPU и номеров IRQ и т.д.). В состав входят такие программы, как network-top, irqtop, softirq-top, softnet-stat-top, link-rate, snmptop, rss-ladder, autorps, maximize-cpu-freq, rx-buffers-increase и server-info. Например, утилиты могут оказаться полезными при проведении работы по минимизации задержек и потерь пакетов в конфигурации с Linux-сервером, подключенном по каналу в 200 Мбит/с и выше.

С момента прошлого (и первого) публичного релиза было исправлено несколько неприятных ошибок, связанных с совместимостью с архитектурами, дистрибутивами Linux, версиями Python и зависимостями проекта, приводившими к невозможности запуска некоторых утилит. Помимо исправлений ошибок улучшена кодовая база, удалось отказаться от устаревшего optparse в пользу argparse.

Другие нововведения:

  • Утилиты autorps и rss-ladder переписаны с Bash на Python с сохранением полной обратной совместимости. Также автоматизирована настройка оборудования в специфических ситуациях:
    • Добавлены предупреждения при использовании неоптимальных параметров таких как использование foreign NUMA-ноды и нескольких очередях одной сетевой карты, обрабатываемых одним и тем же ядром.
    • Autorps теперь по умолчанию использует только ядра локальной для сетевого устройства NUMA-ноды вместо того, чтобы падать с ошибкой в системе с несколькими процессорами.
    • Точное задание списка ядер, обрабатывающих пакеты;
    • Задание "сдвига" для RSS, что подходит в ситуации, когда один физический процессор с 8+ ядрами обрабатывает несколько сетевых карт;
  • Утилиты для мониторинга (в первую очередь network-top) подсвечивают метрики, значения которых указывают на повышенную нагрузку.
  • Добавлена утилита autoxps для настройки распределения отправки пакетов между ядрами процессора.
  • Добавлен прототип утилиты snmptop для визуализации файла /proc/net/snmp.

Долгосрочные планы проекта

  • Пополнение примеров применения.
  • Упаковка в стандартные для дистрибутивов Linux форматы пакетов.
  • Добавление пакета в стандартные репозитории дистрибутивов.
  • Интеграция с Tuned и (или) NetworkManager.
  • Теоретически - выработка алгоритма, позволяющего полностью автоматически настраивать все сетевые карты наиболее оптимальным образом в 90% случаев.


  1. Главная ссылка к новости (https://github.com/strizhechen...)
  2. OpenNews: Проект LibOS развивает вариант ядра Linux с сетевым стеком в форме библиотеки
  3. OpenNews: Оценка способности сетевого стека Linux обрабатывать миллион пакетов в секунду
  4. OpenNews: Intel развивает систему для использования кода ядра Linux в пользовательских приложениях
  5. OpenNews: Intel представил сокращённый вариант сетевого стека для Linux
  6. OpenNews: Fastsocket - новая высокомасштабируемая реализация сетевой подсистемы ядра Linux
Автор новости: weirded
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/47400-netutils
Ключевые слова: netutils, linux
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (7) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Фуррь (ok), 13:11, 17/10/2017 [ответить]  
  • +1 +/
    >Теоретически - выработка алгоритма, позволяющего полностью автоматически настраивать все сетевые карты наиболее оптимальным образом в 90% случаев.

    Интересная штука, даже несмотря на:
    >Теоретически
    >в 90% случаев

    Любопытно было бы узнать, как он работает.

     
     
  • 2.3, OhBoyHereWeGo (?), 14:50, 17/10/2017 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Через libastral, очевидно же.
     
  • 2.5, weirded (ok), 15:57, 17/10/2017 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >>Теоретически - выработка алгоритма, позволяющего полностью автоматически настраивать все сетевые карты наиболее оптимальным образом в 90% случаев.
    > Интересная штука, даже несмотря на:
    >>Теоретически
    >>в 90% случаев
    > Любопытно было бы узнать, как он работает.

    libastral было бы неплохо заиметь, да, но вообще на мой взгляд банальной эвристики для определения пары типовых случаев (1 физическая сетевая карта с несколькими очередями на 1 NUMA-ноду; несколько дешёвых single-queue сетёвок с одним многоядерным процом итд) более чем достаточно.

     

  • 1.2, Alukardd (ok), 13:24, 17/10/2017 [ответить]  
  • +2 +/
    released this on Aug 24
    Свежак!
     
     
  • 2.4, weirded (ok), 15:54, 17/10/2017 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Я немного был полтора месяца, то релиз на работе, то день рождения, то отпуск. Да и к тому же каких-то критических проблем не было с утилитами, чтобы сломя голову чинить-допиливать.
     

  • 1.6, Аноним (-), 19:35, 17/10/2017 [ответить]  
  • +/
    Спасибо, как сделать чтобы autorps запоминал настройки? Или он просто "удобный способ переключить там 0 в f"?

    Autorps теперь по умолчанию использует только ядра локальной для сетевого устройства NUMA-ноды вместо того, чтобы падать с ошибкой в системе с несколькими процессорами.

    Я так понял он не применяет эту настройку навсегда после перезагрузок будет то же самое что и если руками ее менять?

     
     
  • 2.9, Аноним (-), 19:52, 17/10/2017 [^] [^^] [^^^] [ответить]  
  • +/
    > Спасибо, как сделать чтобы autorps запоминал настройки? Или он просто "удобный способ
    > переключить там 0 в f"?
    > Autorps теперь по умолчанию использует только ядра локальной для сетевого устройства NUMA-ноды
    > вместо того, чтобы падать с ошибкой в системе с несколькими процессорами.
    > Я так понял он не применяет эту настройку навсегда после перезагрузок будет
    > то же самое что и если руками ее менять?

    отвечу сам себе ;) я просто пробовал менять эту настройку уже по гайду OpenSUSE:
    https://doc.opensuse.org/documentation/leap/tuning/html/book.sle.tuning/cha.tu

    и она после перезагрузки сбрасывалась в 0 из f. вопрос autorps autoxps действует так же?
    я в общем то просто добавил в сервис systemd ее на всякий пожарный.

    у меня вообще там много чего ;)

    ExecStart=/usr/bin/ip link set dev enp0s17 txqueuelen 2000
    ExecStart=/usr/bin/autorps enp0s17
    ExecStart=/usr/bin/autoxps enp0s17
    #ExecStart=/usr/bin/hdparm -q --please-destroy-my-drive -J30 /dev/sda
    #ExecStart=/usr/bin/hdparm -q --yes-i-know-what-i-am-doing -m4 /dev/sda
    #ExecStart=/usr/bin/hdparm -q -M254 /dev/sda
    #ExecStart=/usr/bin/hdparm -q -W1 /dev/sda
    #ExecStart=/usr/bin/hdparm -q -a256 /dev/sda
    #ExecStart=/usr/bin/ethtool -K enp0s17 rx on tx on sg on tso on gso on gro on rxvlan on txvlan on

    ##off###rx off tx off sg off tso off gso off gro off rxvlan off txvlan off

    #ExecStart=/usr/bin/ethtool -G enp0s17 rx 16384
    #ExecStart=/usr/bin/ethtool -G enp0s17 tx 16384

     
     
  • 3.10, weirded (ok), 20:52, 17/10/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Да, autorps, как и autoxps - просто удобный способ записать правильное число, в том числе и после смены части оборудования (например вместо 1 4-ядерного проца воткнули 2 8-ядерных). Да и разницы у них - две строчки:

    https://github.com/strizhechenko/netutils-linux/blob/master/netutils_linux_tun

    Про запоминание (глобально для всех утилит) - именно эту задачу я и хочу решить "интеграцией с Tuned/NetworkManager". А точнее переложить на них задачу по автостарту, применению в нужный момент, формату конфига, дефолтному поведению итд.

     

  • 1.7, Аноним (-), 19:40, 17/10/2017 [ответить]  
  • +/
    Tuned outdates уже в АУР, последний коммит 2016й год, я пока не стал его ставить.
     
     
  • 2.8, Аноним (-), 19:49, 17/10/2017 [^] [^^] [^^^] [ответить]  
  • +/
    опс, соврал, это про numad, с tuned все в порядке ;)
     
     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру