Jump to content
Калькуляторы

Linux softrouter

3 hours ago, zdutpdzi said:

Это понятно. Вопрос-то,куда хлам старый пристроить ))).

Зависит от вашей архитектуры сети, но вроде ведь такие вещи масштабируются линейно с количеством серверов, т.е. можно просто поставить ещё тазиков под BRAS/NAT, и часть нагрузки распределить на них. На более слабые соотв-но меньшую часть.

Share this post


Link to post
Share on other sites
7 minutes ago, rm_ said:

Зависит от вашей архитектуры сети, но вроде ведь такие вещи масштабируются линейно с количеством серверов, т.е. можно просто поставить ещё тазиков под BRAS/NAT, и часть нагрузки распределить на них. На более слабые соотв-но меньшую часть.

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

Edited by zdutpdzi

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites
6 часов назад, zdutpdzi сказал:

Память очевидно уже лучше ставить DDR4. )))

не факт что от ддр4 будет выигрыш.

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

Share this post


Link to post
Share on other sites
1 hour ago, NiTr0 said:

не факт что от ддр4 будет выигрыш. 

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

Не,тут выигрыш в плане апгрейда последующего ))). L3-кэши уже немаленькие у процов.

Share this post


Link to post
Share on other sites
2 часа назад, zdutpdzi сказал:

Не,тут выигрыш в плане апгрейда последующего ))). L3-кэши уже немаленькие у процов.

ну какбы выбирать надо в первую очередь проц, а не тип памяти :) если удастся под 1151 найти задешево платы с ддр3 - вполне можно их брать. благое дело, на софтроутере даже 4 гига памяти - это реально дофига (пяток фуллвью, гиг под логи и еще половина свободна будет).

Share this post


Link to post
Share on other sites
18 hours ago, NiTr0 said:

ну какбы выбирать надо в первую очередь проц, а не тип памяти :) если удастся под 1151 найти задешево платы с ддр3 - вполне можно их брать. благое дело, на софтроутере даже 4 гига памяти - это реально дофига (пяток фуллвью, гиг под логи и еще половина свободна будет).

Вот все же вопрос,играет ли какое-то значение частота ядер? С количеством понятно: лучше брать равное количеству очередей сетевушки и прибить каждую к одному ядру.

Все же сетевой стэк машинный код,он будет выполнятся CPU,не будет тут где узкого места? Недаром же пилят всякие dpdk в обход ядерного сетевого стэка.

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites
17 minutes ago, NiTr0 said:

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

Какая минимальная частота должна быть для:

 

  1. 1Гбит/с
  2. 5Гбит/с
  3. 10Гбит/с

чтобы именно этот параметр не стал узким местом?

Share this post


Link to post
Share on other sites
On 2/15/2019 at 10:15 AM, zdutpdzi said:

Я не для работы,для хобби интересуюсь ))).

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

 

17 minutes ago, zdutpdzi said:

Какая минимальная частота должна быть для:

 

  1. 1Гбит/с
  2. 5Гбит/с
  3. 10Гбит/с

 

Share this post


Link to post
Share on other sites
10 minutes ago, rm_ said:

вместо того чтобы задавать идиотские вопросы на форуме.

Вообще-то я задавал вопрос не вам,но раз уж вы вызвались ответить,тогда уж отвечайте по существу,мне чье-то чсв особо неинтересно и малоинформативно. Либо не отвечайте вообще.

Edited by zdutpdzi

Share this post


Link to post
Share on other sites
11 часов назад, zdutpdzi сказал:

Какая минимальная частота должна быть для:

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

из личного опыта - довольно старый x3430 в роли бордера спокойно жует 4 гбита с парой фуллвью и парой местных ix, с нагрузкой на проц в районе 50%, с довольно развесистым файрволом, немного ната, есть notrack для белых адресов. и прожует гбит 7 где-то спокойно, может даже 8.

в более свежих интелах - все гораздо более радужно будет.

Share this post


Link to post
Share on other sites
7 hours ago, NiTr0 said:

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

из личного опыта - довольно старый x3430 в роли бордера спокойно жует 4 гбита с парой фуллвью и парой местных ix, с нагрузкой на проц в районе 50%, с довольно развесистым файрволом, немного ната, есть notrack для белых адресов. и прожует гбит 7 где-то спокойно, может даже 8.

в более свежих интелах - все гораздо более радужно будет.

Не,не в отрыве,конечно )))

Share this post


Link to post
Share on other sites
В 15.02.2019 в 08:15, zdutpdzi сказал:

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

При сборке тазиков из старой комплектухи надо быть осторожней. Там может не быть PCIE 3.0 или режим может быть искусственно ограничен 2.0 драйверами из-за каких-то проблем с чипсетом (такие проблемы были практически у всех Intel X серий). Плюс, в старых системах и самих шин(хабов) мало, а шина PCI-E хоть и последовательная, но некоторые параметры устанавливаются для всех устройств на шине скопом, вроде размера Payload. И слот для сетевухи может оказаться на одной шине с каким-нибудь USB 2.0 контроллером или HDA. C Payload 128 эффективная утилизация шины не превысит 60%. Итого может получаться, что в слоте PCIE 2.0 (или в режиме 2.0) двухголовая карточка 10G может вторую голову и не вытягивать уже чисто по шине.

 

С PCI-E 3.0 проблемы могут быть уже с 40G адаптерами. К примеру, с неудачным Payload из теоретических 63 Gbit/s может выйти только 37-38. Для двухпортовых карточек лучше сразу смотреть на x16 варианты (причем возможен обман - слот физических x16, а линий только 8, кто-то тут жаловался на такое). Тестить надо, в общем.

 

Что касается CPU, есть эмпирическое правило - 1 Гбит/с на 1 ГГц CPU, для Intel начиная с Core 2. То есть тазик 4 ядра по 2.5 ГГц вытянет примерно 10G. Однако, многое зависит от драйверов, используемого софта, версии ядра, включили ли offloading на карточке и т.п. Для псевдоядер (вроде AMD до Ryzen) поправочный коэффициент 0,5 :)

Share this post


Link to post
Share on other sites
1 час назад, jffulcrum сказал:

Там может не быть PCIE 3.0 или режим может быть искусственно ограничен 2.0 драйверами

да пофиг, 2.0 - это 5 гбит на линию. т.е. х4 - это уже 20 гбит tx + 20 гбит rx.

 

1 час назад, jffulcrum сказал:

Плюс, в старых системах и самих шин(хабов) мало, а шина PCI-E хоть и последовательная, но некоторые параметры устанавливаются для всех устройств на шине скопом, вроде размера Payload

pci-e - шина "точка-точка". т.е. на шине может быть только одно устройство (экзотику типа pci-e мультиплексоров не рассматриваем)

 

1 час назад, jffulcrum сказал:

И слот для сетевухи может оказаться на одной шине с каким-нибудь USB 2.0 контроллером или HDA

не может. просто потому, что юсб/hda - они не на pci-e (usb3.0 внешние не рассматриваем). более того - слот х16 (как минимум первый, про извращения вида "х4 в формфакторе х16" не говорим) он даже не с южного моста идет, а напрямую из камня.

Share this post


Link to post
Share on other sites

@NiTr0 Хм, мне казалось, что @LostSoul на вас наговаривает, но похоже все действительно плохо:

 

17 минут назад, NiTr0 сказал:

да пофиг, 2.0 - это 5 гбит на линию. т.е. х4 - это уже 20 гбит tx + 20 гбит rx.

Про кодирование не знаем

 

18 минут назад, NiTr0 сказал:

pci-e - шина "точка-точка". т.е. на шине может быть только одно устройство

Про root complex, его роль тоже не знаем.

 

40 минут назад, NiTr0 сказал:

просто потому, что юсб/hda - они не на pci-e

Про PCIE Endpoint тоже не знаем

 

45 минут назад, NiTr0 сказал:

слот х16 (как минимум первый, про извращения вида "х4 в формфакторе х16" не говорим) он даже не с южного моста идет, а напрямую из камня.

Это хорошо, когда он еще не занят. 

 

Share this post


Link to post
Share on other sites
11 hours ago, jffulcrum said:

Что касается CPU, есть эмпирическое правило - 1 Гбит/с на 1 ГГц CPU, для Intel начиная с Core 2. То есть тазик 4 ядра по 2.5 ГГц вытянет примерно 10G. Однако, многое зависит от драйверов, используемого софта, версии ядра, включили ли offloading на карточке и т.п. Для псевдоядер (вроде AMD до Ryzen) поправочный коэффициент 0,5 :)

Вот такого рода инфу я и ищу ))). На тип трафика (pppoe и пр) какие-нибудь поправочные есть?

Edited by zdutpdzi

Share this post


Link to post
Share on other sites

Кстати,а вот с многопроцессорными системами есть какие-либо нюансы?

Share this post


Link to post
Share on other sites

Коллеги,нарыл в интернете вот такую инфу: http://docs.carbonsoft.ru/pages/viewpage.action?pageId=142802986

Как-нибудь прокомментируете? Это не про роутинг,про DPI,но все же интересно насколько близка к реальности указанная формула,если рассматривать связь pps с частотой cpu.

 

Естественно,не рассматриваем в отрыве от сетевух и всего прочего. Интересен именно короткий участок всей трассы движения пакета: обработка на cpu. Я к вам собственно,что пристал-то с этим: чтоб не получилось так,тазик собран,крутые сетевухи,с шиной ок,низколатентная память,а узким горлышком стал именно cpu. )))

Edited by zdutpdzi

Share this post


Link to post
Share on other sites

З.Ы. Давно зондирую интернет,никак не пойму одну вещь: почему нет специализированных каких-то ресурсов на тему тазиков типа softrouter.com/linuxrouter.com ))). Тема вроде популярная и востребованная...

Share this post


Link to post
Share on other sites

@zdutpdzi востребованных кем? Это нужно только странам ex-USSR и то только операторам, энтерпайзу это всё не надо, у них трафика меньше и там справляются soho решения. А для стран ex-USSR есть nag.ru и local.com.ua (правда половина там на искаверканном русском, но в целом понятно)

Share this post


Link to post
Share on other sites
48 minutes ago, s.lobanov said:

@zdutpdzi востребованных кем? Это нужно только странам ex-USSR и то только операторам, энтерпайзу это всё не надо, у них трафика меньше и там справляются soho решения. А для стран ex-USSR есть nag.ru и local.com.ua (правда половина там на искаверканном русском, но в целом понятно)

Да в англоязычном сегменте немало попадается интересующих,на всяких qa-ресурсах,судя по количеству вопросов... Ну тот же pfsense довольно популярен.

Edited by zdutpdzi

Share this post


Link to post
Share on other sites
2 часа назад, zdutpdzi сказал:

На тип трафика (pppoe и пр) какие-нибудь поправочные есть?

О чем часто забывают, так это о том, что если сервер работает промежуточным звеном, то трафик считается как IN+OUT. То есть 10 на входе и 10 на выходе - это уже 20. Сама обертка трафика в PPP (или еще во что-то) особой нагрузки не добавляет, если не используется шифрование и/или компрессия. А вот терминация туннелей добавляет прилично, поскольку тут уже нелинейные операции и множественные перемещения данных в памяти. Здесь важны как раз кеши, память и т.п. - надо смотреть на конкретное железо.

 

 

2 часа назад, zdutpdzi сказал:

с многопроцессорными системами есть какие-либо нюансы?

С многопроцессорными системами нюанс - это NUMA, а именно - обращение в память к соседу вчетверо дороже, чем к своей. Возвращаясь к вопросу о PCI Express, надо смотреть на конкретное железо, откуда идут слоты. Если у нас сетевая IN на одном CPU, а OUT - на втором, данные придется перекачивать между CPU, и хотя при потоковом характере пенальти уменьшается, но до половины от нашей формулы можно "пролюбить". Желательно карточки заводить в слоты от одного CPU (набортные матерей обычно в итоге замыкаются на Root в CPU0, но бывают и "приятные" исключения), второй проц пусть обрабатывает прерывания и всякую общесистемную нагрузку. Опять же, возможны обратные ситуации - если это, скажем, прокси-сервер, или мы еще какой-то контент с него отдаем, то как раз будет выгоднее разнести карточки по CPU, так как добавляется поток данных от системы хранения. 

 

1 час назад, zdutpdzi сказал:

Как-нибудь прокомментируете?

Там более правильная формула, просто PPS обычно становится известен лишь по факту...

Share this post


Link to post
Share on other sites
6 minutes ago, jffulcrum said:

О чем часто забывают, так это о том, что если сервер работает промежуточным звеном, то трафик считается как IN+OUT. То есть 10 на входе и 10 на выходе - это уже 20.

То есть ваш пример выше,это про 5Гбитс in,5Гбитс out,верно? )))

 

6 minutes ago, jffulcrum said:

Там более правильная формула, просто PPS обычно становится известен лишь по факту...

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

 

6 minutes ago, jffulcrum said:

Здесь важны как раз кеши, память и т.п. - надо смотреть на конкретное железо.

Какие здесь эмпирические правила (по аналогии с выше)?

 

6 minutes ago, jffulcrum said:

С многопроцессорными системами нюанс - это NUMA, а именно - обращение в память к соседу вчетверо дороже, чем к своей.

RPS вроде должен решать эту проблему,ошибаюсь?

Edited by zdutpdzi

Share this post


Link to post
Share on other sites
2 часа назад, zdutpdzi сказал:

Коллеги,нарыл в интернете вот такую инфу: http://docs.carbonsoft.ru/pages/viewpage.action?pageId=142802986

Как-нибудь прокомментируете? Это не про роутинг,про DPI,но все же интересно насколько близка к реальности указанная формула,если рассматривать связь pps с частотой cpu.

 

Естественно,не рассматриваем в отрыве от сетевух и всего прочего. Интересен именно короткий участок всей трассы движения пакета: обработка на cpu. Я к вам собственно,что пристал-то с этим: чтоб не получилось так,тазик собран,крутые сетевухи,с шиной ок,низколатентная память,а узким горлышком стал именно cpu. )))

 

Хороша формула  -       +/- 30%    т.е. разброс   60%

 

Вы бы почитали эту ветку с начала, как и что народ берет на тест под свои задачи железки у поставщиков и тестирует, делает выводы, возвращает.

Нет ни у кого универсальной формулы, тем более что linux ядра меняются, что то там выпиливается, добавляется,  ядра устаревают.  вобщем движухи в софте очень много. Процессоры  меняются.

Вы из того что есть собрались собирать систему или теоретически порассуждать? Думаю никто не тестит  кучу версий ядер, кучу железа(драйверов), кучу фич и их конфигураций  и эти тесты сопровождает под изменения в софте.  это ж сколько железяк нужно иметь в чулане (не дешевое удовольствие, особенно если процы крутые) и желания  каждое изменение в софте тестить и публиковать для общественности.

 

Edited by QWE

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now