Перейти к содержимому
Калькуляторы

Распределение нагрузки по ядрам в Debian Jessie Лезем вглубь! Интересный и развернутый спич

Как показывает практика - очень много нюансов кроется в ядре, драйвере и в конкретных настройках.

Вот я и спрашиваю, кто-то реально раскачивал эти карты до 5-8 Гбит или это фикция? А если раскачивал, то под каким ядром, драйвером и с какими опциями?

 

А то мы с mirk'ом месяц танцуем с бубном - а оно может и ядро не то и драйвер не тот...

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

все рецепты которые были изложены выше не помогают

А точно все рецепты были испробованы? Я так и не понял, вы до сих пор на дебиане?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

я уже не знаю куда смотреть.

 

Смотреть в шейпер, что нагородили и как.

У нас используются карты 82599ES на "роутерах" (не совсем верное определение) OpenStack Neutron в связке 2x10G или 4x10G. На нормальном разношерстном трафике, никаких магий тюнинга совсем не надо, все едет само. Если же трафик однороден - включаем RPS + RFS и получаем с каждой 9.5Gbit/s, практически полку. Еще раз, что бы кто бы тут не говорил, карты не виноваты. Неравномерная нагрузка на ядра вам глаз режет, но это даже не проблема - это лишь следствие работы RSS-хеша в карте, и само по себе не нуждается в лечении. Делайте perf top, определяйте кто тормозит систему (да-да, локинг вредная штука), и переделывайте. (пальцем в небо: виноват классификатор)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Или вас просто задело, что в стабильном дистрибутиве с поддержкой в 5+ лет, который не ломается от апдейтов, можно легко и непринужденно поиметь свежее актуальное ядро, а ваша БСД так не умеет? Другого объяснения вашим попыткам прикопаться к столбу я не вижу...

 

Задело? Лол :) Меня просто позабавило как с школьным рвением пионеры меняют части стабильной ОС потому что старый хлам их уже не устраивает, а свежие дистрибы они не ставят из-за скудности понимания релиз-экосистемы, при этом, с одной стороны верят в "магию" коммьюнити-энтерпрайза (что само по-себе оксюморон!) а с другой думают, что замена движка в заводском автомобиле на самопал от любителя с соседнего гаража никак не меняет автомобиль, и не видят в том никакой проблемы, иметь хлам из одной эпохи с двигателем из другой.

Если говорить об эмоциях, скорее после всего осталось лишь сожаление, сожаление о скудности познаний современного "админа", объем которых не идет ни в какое сравнение с величиной самомнения вышеозначенного индивида. Да, вот от этого скорее грустно.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Меня просто позабавило как с школьным рвением пионеры меняют части стабильной ОС потому что старый хлам их уже не устраивает, а свежие дистрибы они не ставят из-за скудности понимания релиз-экосистемы

Ну если вас устраивает каждые полгода-год иметь геморрой с обновлением дистра (включая юзерленд с меняющимися дефолтами) - дело ваше, моете ставить какую-то опенсусю или вообще сидеть на rolling-release системах.

 

а с другой думают, что замена движка в заводском автомобиле на самопал от любителя с соседнего гаража никак не меняет автомобиль, и не видят в том никакой проблемы, иметь хлам из одной эпохи с двигателем из другой.

О да, очередные беспочвенные фантазии бздоида, основанные на его представлениях об ОС...

Повторяюсь - не натягивайте реалии унылой бзди на линукс. В линуксе вы можете взять дистр с древним 2.4 ядром начала 2000-х, собрать в него свежее 4.1 ядро, и все будет прекрасно работать. Максимум - собрать в довесок iptables + iproute2 чтобы свежие фичи заюзать, которые отсутствовали в 2.4. Да-да, именно потому, что линукс - это ядро, имеющее стабильное API с юзерспейсом. В бзде такое не прокатит, только полное обновление системы (причем - сугубо через кучу промежуточных релизов, которое к тому же с большой вероятностью окончится печально - соседний топик о развалившейся при апгрейде версий бзде тому яркий пример).

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Господи, вы там на уроках что-ли придумываете столь отборный булшит? :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

DVM-Avgoor

Специально для вас могу накатить на какой-то Redhat 7.3 возрастом в 10+ лет свежее ядро, чтобы убедились, я 2.6.30 что ли собирал в свое время ради интереса.

Повторюсь, линь - не бздя, в которой ядро прибито гвоздями к юзерленду т.к. студенты не осилили наваять стандарт API.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

NiTr0, почитайте, что-ли Documentation/stable-api-nonsense.txt

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

snvoronkov я имею ввиду не API ядерных модулей, а API юзерленда. Или вы при каждом обновлении ядра перекомпилируете системные библиотеки типа glibc, как это происходит в бзде? :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

DVM-Avgoor

Специально для вас могу накатить на какой-то Redhat 7.3 возрастом в 10+ лет свежее ядро, чтобы убедились, я 2.6.30 что ли собирал в свое время ради интереса.

Повторюсь, линь - не бздя, в которой ядро прибито гвоздями к юзерленду т.к. студенты не осилили наваять стандарт API.

 

реально всё равно что-то отваливается потихоньку, например ss/netstat не будет нормально работать в этом случае. так конечно, да, в целом согласен. приятно, когда на debian6 или centos6 можно накатывать относительно свежие ядра, не обновляя всю систему, сам пару раз этим пользовался(лениво было делать dist-upgrade ради netfliter TEE - копирование трафика, в одном из случаев), но всё же лучше поддерживать окружение констистентным, не зря же тот же iproute2 живёт в гите рядом с ядром, а то не очень прикольно когда в /opt-е уже и iptables и ip и ещё хрень какая-то лежит

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

snvoronkov я имею ввиду не API ядерных модулей, а API юзерленда. Или вы при каждом обновлении ядра перекомпилируете системные библиотеки типа glibc, как это происходит в бзде? :)

Не то. И api приложений тоже очень часто меняется от версии ведра. В бубунте, например, (держу на десктопе) периодически вносят изменения в пользовольское окружение перед выкатыванием бэкпорта ведра новой стабильной ветки в lts.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

реально всё равно что-то отваливается потихоньку

Ну после замены ядра с 2.4 на 2.6 на первый взгляд ничего существенного не отвалилось.

 

но всё же лучше поддерживать окружение констистентным, не зря же тот же iproute2 живёт в гите рядом с ядром, а то не очень прикольно когда в /opt-е уже и iptables и ip и ещё хрень какая-то лежит

Ну если какая-то новая фича ядра нужна - то да, придется свой пакет из srpm сваять (дел на 5 минут).

 

И api приложений тоже очень часто меняется от версии ведра. В бубунте, например, (держу на десктопе) периодически вносят изменения в пользовольское окружение перед выкатыванием бэкпорта ведра новой стабильной ветки в lts.

Какие именно изменения?

Поставьте gentoo, и убедитесь что от версии ядра ничего не зависит. А "стабильные" хидеры ядра в генте устарели эдак на полгода-год.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Какие именно изменения?

Поставьте gentoo, и убедитесь что от версии ядра ничего не зависит. А "стабильные" хидеры ядра в генте устарели эдак на полгода-год.

Понятно с Вами всё. Продолжайте дальше в том-же духе :-).

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Понятно с Вами всё. Продолжайте дальше в том-же духе :-).

Т.е. в вашей альтернативной реальности у линукса отсутствует обратная совместимость API юзерспейса? Как все печально у вас...

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Понятно с Вами всё. Продолжайте дальше в том-же духе :-).

Т.е. в вашей альтернативной реальности у линукса отсутствует обратная совместимость API юзерспейса? Как все печально у вас...

В моей реальности эта самая "обратная совместимость" частенько ломается. Когда для получения того-же результата начинает становиться необходимо сделать дополнительные сискэлы, а когда и вовсе куски окружения перелапачивают. Один /dev столько дури несет, что работать с ним даже из скрипта в разных версиях комбинаций ведра с удавом - тот еще цирк...

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Парни, без обид. Мы тут хотели помощь клуба так сказать получить, а тема периодически сваливается на меряние пиписьками.

Давайте по существу.

DVM-Avgoor, у вас просто перекладывается трафик с одного интерфейса на другой или есть дополнительная обработка (фильтрация, шейпинг, нат)?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Когда для получения того-же результата начинает становиться необходимо сделать дополнительные сискэлы, а когда и вовсе куски окружения перелапачивают.

Ни разу ничего не ломалось в процессе обновления ядра на rolling-release дистре (gentoo, на домашнем тазике юзаю). И тем более не приходилось пересобирать весь юзерленд при обновлении ядра.

 

Один /dev столько дури несет

он формируется всецело udev'ом или что там в дистре... Ядро не имеет к структуре /dev отношения.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

DVM-Avgoor, у вас просто перекладывается трафик с одного интерфейса на другой или есть дополнительная обработка (фильтрация, шейпинг, нат)?

Фильтрации много, шейпинга нет, НАТ местами. Много всякого openvswitch еще :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Давайте по существу.

Уже ж говорили, что у вас шейпер тормозит скорее всего.

Берите пример у крупных датацентров, не включайте никому шейпер, пока не переберут определенное количество трафика. Подбирайте количество так, чтобы для 95% юзеров шейпер не включался, а лучше для 99%. Так нагрузки от шейпера вообще не будет.

Изменено пользователем ttttt

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

он формируется всецело udev'ом или что там в дистре... Ядро не имеет к структуре /dev отношения.

Угу. И хуки удава к ведру при компилянии последнего - глюкодром, наверное... :-)

Ни разу ничего не ломалось в процессе обновления ядра на rolling-release дистре (gentoo, на домашнем тазике юзаю). И тем более не приходилось пересобирать весь юзерленд при обновлении ядра.

Типа, во фре или дебе оно постоянно ломается. :-) Там тоже юзерлэнд от какого-нить замшелого релиза будет работать и выполнять 99 с гаком %% операций на ядре от свежего выпуска. Но ИНОГДА оно ломается. Так было где-то на ядрах в ubuntu толи 8.04, толи 10.04. Так изредка выплявает на фре.

 

Вобщем, оффтоп и ниачем. Закругляемся, наверное.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

И хуки удава к ведру при компилянии последнего - глюкодром, наверное... :-)

Ядро сообщает юзерленду, что найдено устройство. Все. Как юзерленд создаст ноду в /dev - его личное горе.

 

Типа, во фре или дебе оно постоянно ломается.

Ну как говорят бздоиды, в бзде под каждое ядро надо пересобирать либы. И сомневаюсь, что на бзде 4.х ядро от 10.х без перекомпиляции юзерленда взлетит.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Ну как говорят бздоиды, в бзде под каждое ядро надо пересобирать либы.

 

Сходу:

https://svnweb.freebsd.org/base/head/UPDATING?revision=285232&view=markup

 

Читать, начиная со строки 1204:

To upgrade in-place from stable to current

----------------------------------------------

<make sure you have good level 0 dumps>

make buildworld [9]

make kernel KERNCONF=YOUR_KERNEL_HERE [8]

[1]

<reboot in single user> [3]

mergemaster -Fp [5]

make installworld

mergemaster -Fi [4]

make delete-old [6]

<reboot>

 

В момент перезагрузки в однопользовательский режим ядро у системы уже новое, а вот юзерлэнд - старый.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 смайлов.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.