- PVSM.RU - https://www.pvsm.ru -

Тюнинг сетевого стека Linux для ленивых (v2.5.0)

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

Цель проекта — упростить и унифицировать процесс тюнинга сетевого стека и сетевых карт, снизив необходимость разбираться в устройстве сетевого стека для сисадминов и освободить их головы от рутинных вычислений и написания с нуля кучи одинаковых bash-скриптов.

Рекомендации для использования — наличие канала с 200+ Мбит/с, обрабатываемого Linux-based машиной, и требований к минимизации задержек и потерь.

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

Помимо исправлений ошибок улучшена кодовая база, удалось отказаться от устаревшего optparse в пользу argparse (почему argparse, а не click [3]).

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

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

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

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

P.S: проект участвует в hacktoberfest [5], вроде как несколько простеньких issue для питонистов ещё осталось.

Автор: weirded

Источник [6]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/linux/265906

Ссылки в тексте:

[1] netutils-linux: https://github.com/strizhechenko/netutils-linux

[2] прошлого (и первого) публичного релиза: https://habrahabr.ru/post/331720/

[3] почему argparse, а не click: https://github.com/strizhechenko/netutils-linux/tree/master/netutils_linux_monitoring#why-argparse-and-not-click

[4] примеров применения: https://github.com/strizhechenko/netutils-linux/tree/master/examples

[5] hacktoberfest: https://hacktoberfest.digitalocean.com

[6] Источник: https://habrahabr.ru/post/340296/