Как стать автором
Обновить

Комментарии 8

Не надо трогать драйвера, не усложняйте ситуацию, всё гораздо проще.
Спасибо за развёрнутую статью, но хотелось бы больше аналитики для глупых людей, с графиками-цифрами.
Т.е. изменять параметры и понимать, что улучшится, было было бы удобнее, т.к. сразу «вобрать» данный материал всё-таки сложновато.
Мне тут ваш коллега подсказал, что у вас заббикс используется. Но вот используется ли он для мониторинга сетевого стека — не известно.
При использовании виртуализации половина параметров, имхо, не изменит картину, или я не прав?
Очень хорошая статья на родном языке, мне её не хватало, когда тюнил сетевую подсистему для софт роутера. К сажалению реалии таковы, что при трафике ~1Гбит/c через роутер на линуксе приходится разбираться с сетевой подсистемой и крутить настройки. Если есть возможность, выложите темплейты/скрипты, которыми вы мониторите сетевую подсистему.
Присоединяюсь к благодарностям за статью и просьбе прикладного применения.
Например
При дефолтной конфигурации было установлено количество потоков Х что давало задержку в обработке Y. после изменения настроек было замечено что задержка составила Z на таких то нагрузках.
Статье отличное описания, что бы люди знали что и как работает. А примеры дадут представление о области применения знаний
Если это тот AloneCoder о котором мы знаем по ZX, то он — молодец (если не тот — тоже молодец). Но при всей развёрнутой картине у меня уйдёт много времени чтобы извлечь из этой статьи кейс. Причём материала для кейса не очень много. Это все места где встречаются sysctl -w, мы их выписываем и после этого расписываем себе последовательность действий по результатам которых можно понять как выставлять переменные или выполнять другие настройки. А потом сравниваем с имеющимся опытом, пробуем, тестируем. Алгоритмики не хватает, преобладает описательность: что и как работает.
Что крутить сильно зависит от типа трафика в вашей сети, pppoe — одно, форвардинг — дргуое, web-сервер — третье, если у вас нат — четвертое. плюс в разных сетевых картах, есть разные аппартные фишки, которые надо учитывать, когда стек настраиваешь. Так что не получится тут универсального рецепта.

Это вы верно сказали. ± универсальные вещи от которых вряд ли будет хуже (RSS/RPS/XPS) я попытался в код завернуть недавно, думал о том, как бы всё это сделать ещё более out-of-box, чтобы человеческий мозг вообще не напрягать (потому что когда он напрягается он порой делает всё ещё хуже), но всегда находится какой-нибудь кейс в котором всё будет неидеально :(

Предположим, счетчик бюджета (который обновляется из net.core.netdev_budget) обнулился. Когда он обновляется? С временем тоже неясно ясно. Если обработка пакетов не может занимать больше двух jiffies — то за какой период? И если у нас ядро высокой отзывчивости собраное с CONFIG_HZ=1000, то получается, что время на обработку пакетов дается меньше чем при CONFIG_HZ=100! Это нормально?
Зарегистрируйтесь на Хабре, чтобы оставить комментарий