Jump to content

Recommended Posts

Posted

Поделитесь опытом...

 

Работает ли у кого связка ipfw + ng_car ? Точнее не просто работает, а работает под нагрузкой.

 

У меня следующая ситуация

 

при нагрузке 20Mbit конструкция

ipfw add 100 netgraph tablearg all from table(1) to table(2)

отрабатывает так как должна в теории

 

как только увеличиваю нагрузку до рабочих 500Mbit/s в течение 20с получаю kernel panic trap 12

 

это соответствует известной ошибке о потери значения счетчика ipfw при работе с нодой ng_car - ipfw + ng_ipfw + ng_car + high load = kernel panic

 

Но мне эти патчи не помогли.

 

Очень хотелось бы знать получилась ли у кого-то работа на связке ipfw+ng_car под нагрузкой?

Posted

У меня паниковало при модификации табличек или измененния параметров ноды на лету.

С тех пор забросил эту идею, сейчас классические pipe с tablearg

Posted
С тех пор забросил эту идею, сейчас классические pipe с tablearg

Аналогично.

 

Но тарифы уже требуют безлимов на 5 и более мегабит, и тут очень бы пригодился ng_car с его rate-limit.

  • 7 months later...
Posted

Предлагаю реанимировать тему.

Кто-нибудь использует ng_car для mass shaping без mpd5, для чистого IPoE?

Хочется получить более производительную замену для dummynet.

Как вариант, предлагаю вместе спеть диферамбы автору ng_multicar - возможно, это ускорит разработку ;-))

Posted
Нафик нужно, dummynet forever.
http://www.opennet.ru/tips/info/1516.shtml

"Простая замена связки ipfw+pipe на эквивалентную связку ng_bpf+ng_car при 500 активных интерфейсах и 50Мбит/c трафика дала двухкратное снижение загрузки роутера. Если же перевести ng_car в режим rate-limit, его ресурсоемкость станет вообще нулевой, на уровне нескольких арифметических операций на пакет."

 

Posted

Вы мне еще на лиссяру ссылки пришлите... За опеннет в приличных местах и в морду могут дать. :-)

 

Тут пол-форума забито плясками с mpd + ng_car.

Posted (edited)
Предлагаю реанимировать тему.

Кто-нибудь использует ng_car для mass shaping без mpd5, для чистого IPoE?

Хочется получить более производительную замену для dummynet.

dummynet просто нужно адекватно настроить и прибить к определенному процессору (ядру процессора) с помощью cpuset.

 

Как вариант, предлагаю вместе спеть диферамбы автору ng_multicar - возможно, это ускорит разработку ;-))
Ну это будет очередная нода для Netgraph с уродским синтаксисом правил, которого врагу не пожелаешь.

 

Если говорить об альтернативах dummynet, то лучше избавиться от гигантских локов в ALTQ и добавить туда классификатор с хэшированием номеров очередей по IP, как pipe tablearg в ipfw. Это займет меньше времени, чем писание нод для Netgraph.

Edited by photon
Posted (edited)
http://www.opennet.ru/tips/info/1516.shtml

"Простая замена связки ipfw+pipe на эквивалентную связку ng_bpf+ng_car при 500 активных интерфейсах и 50Мбит/c трафика дала двухкратное снижение загрузки роутера. Если же перевести ng_car в режим rate-limit, его ресурсоемкость станет вообще нулевой, на уровне нескольких арифметических операций на пакет."

Видимо речь идет о сравнении ng_car с неадекватно составленными правилами из тысяч пайпов, а не с динамическими пайпами и таблицами или pipe tablearg, как у всех нормальных людей. Вы кстати видели ng_bpf? Это какой-то ужас, ему надо подавать на вход не простые выражения a la tcpdump, а нечитабельный код на ассемблере BPF. ng_car не лучше. Такое впечатление, что те, кто пишет ноды для Netgraph, вообще не думают о нормальном синтаксисе правил. Для полного маразма надо еще какой-нибудь ng_xml с XML-парсером в ядро запихнуть, чтобы конфигурацию нод можно было передавать в виде XML, и чтобы стало совсем нечитабельно. А потом еще написать кучу костылей, чтобы со всем этим можно было хоть как-то работать. Edited by photon
Posted
Видимо речь идет о сравнении ng_car с неадекватно составленными правилами из тысяч пайпов, а не с динамическими пайпами и таблицами или pipe tablearg, как у всех нормальных людей. Вы кстати видели ng_bpf? Это какой-то ужас, ему надо подавать на вход не простые выражения a la tcpdump, а нечитабельный код на ассемблере BPF. ng_car не лучше. Такое впечатление, что те, кто пишет ноды для Netgraph, вообще не думают о нормальном синтаксисе правил. Для полного маразма надо еще какой-нибудь ng_xml с XML-парсером в ядро запихнуть, чтобы конфигурацию нод можно было передавать в виде XML, и чтобы стало совсем нечитабельно. А потом еще написать кучу костылей, чтобы со всем этим можно было хоть как-то работать.

Во-во, а потом сиди и лови lost orphans по всем нодам... :-) Такое впечатление, что они iptables для netgraph пишут.

Posted (edited)

Такое впечатление, что они iptables для netgraph пишут.

Да, я так понимаю, что у некоторых разработчиков FreeBSD в последнее время есть идея фикс переписать все подсистемы ядра в виде нод Netgraph. Дескать, это позволит создавать очень гибкие конфигурации. А будут ли реально кому-то нужно такое -- никто не задумывается. При этом о качестве языка конфигурации нод думают в последнюю очередь, и в результате мы получаем ng_bpf и ng_car, с которыми можно работать, только если писать костыли на shell или Perl.

Edited by photon
Posted
Да, я так понимаю, что у некоторых разработчиков FreeBSD в последнее время есть идея фикс переписать все подсистемы ядра в виде нод Netgraph. Дескать, это позволит создавать очень гибкие конфигурации. А будут ли реально кому-то нужно такое -- никто не задумывается. При этом о качестве языка конфигурации нод думают в последнюю очередь, и в результате мы получаем ng_bpf и ng_car, с которыми можно работать, только если писать костыли на shell или Perl.

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

конфигурации, особенно с глубокими графами - лучше сразу повеситься.

Posted

У меня работает, уже около 1,5 года - с 7.0 и вот уже до 7.3, железо не обновлялось.

300Mbit/s - 70% idle - настроил, написал обвязку на Perl и забыл. Ни cpuset, ни bridge - вообще ничего такого нет, если все это сделать выиграю где-то ~15%.

Подумываю осилить демон, который следит за состоянием нод и удаляет их при простое, а затем создает при появлении трафика ala динамические pipe-ы.

Posted (edited)
Такое впечатление, что они iptables для netgraph пишут.
Да, я так понимаю, что у некоторых разработчиков FreeBSD в последнее время есть идея фикс переписать все подсистемы ядра в виде нод Netgraph. Дескать, это позволит создавать очень гибкие конфигурации. А будут ли реально кому-то нужно такое -- никто не задумывается. При этом о качестве языка конфигурации нод думают в последнюю очередь, и в результате мы получаем ng_bpf и ng_car, с которыми можно работать, только если писать костыли на shell или Perl.

ну возможно поправят синтаксис и какие-то утилитки долепят - сложно же не только вам - но и им :))) - хотя они фанаты и им наверно нравится крючки крутить в нодах в команд лайне:)))

 

а вообще - да оно идёт именно к тому что всё будет один сплошной граф - по крайней мере так сбоку кажется....

по ng_car - типа получается что так как и мпд на нетграфе то логично что оно типа роднее к нему чем думинет - НО думинет уже вылизан и работает как часы - по ng_car пока такого сказать не получится ....

 

 

За опеннет в приличных местах и в морду могут дать. :-)

Тут пол-форума забито плясками с mpd + ng_car.

:))))))))))))))))))))

+1

Edited by Lynx10
Posted
У меня работает, уже около 1,5 года - с 7.0 и вот уже до 7.3, железо не обновлялось.

300Mbit/s - 70% idle - настроил, написал обвязку на Perl и забыл. Ни cpuset, ни bridge - вообще ничего такого нет, если все это сделать выиграю где-то ~15%.

Подумываю осилить демон, который следит за состоянием нод и удаляет их при простое, а затем создает при появлении трафика ala динамические pipe-ы.

А три гигабита дуплекса при 1mpps слабо зашейпить на одном проце ? ;-)

Posted
У меня работает, уже около 1,5 года - с 7.0 и вот уже до 7.3, железо не обновлялось.

300Mbit/s - 70% idle - настроил, написал обвязку на Perl и забыл. Ни cpuset, ни bridge - вообще ничего такого нет, если все это сделать выиграю где-то ~15%.

Подумываю осилить демон, который следит за состоянием нод и удаляет их при простое, а затем создает при появлении трафика ala динамические pipe-ы.

А три гигабита дуплекса при 1mpps слабо зашейпить на одном проце ? ;-)

~1,5 гигабита при 800Kpps было, правда ng_car был привязан к интерфейсам.

Posted
Вы мне еще на лиссяру ссылки пришлите... За опеннет в приличных местах и в морду могут дать. :-)

 

Тут пол-форума забито плясками с mpd + ng_car.

Ну пока есть такие люди, как lavr, например - опеннет сам кому хош в морду даст! ;-)

 

Posted

всем привет!

люди, помогите, уже пол месяца бьемся..

связка Abills+mpd+ng_car

проблема с пингами..

ситуация такая, юзеру по дхцп выдается ip 172.18.1.*

коннектимся по PPPoE, получаем адрес 10.10.10.*

делаем пинг на 10.10.1.1 (шлюз инета на сервере) или пинг на 10.10.1.50 (сетевуха на серваке смотрящая в инет)

включаем закачку, торрент или еще чего.. и пинг начинает ужасно теряться((

причем пинг 1-2мс, но потеря при закачке до 20-30%

как победить эту беду?

Posted
Вы мне еще на лиссяру ссылки пришлите... За опеннет в приличных местах и в морду могут дать. :-)

 

Тут пол-форума забито плясками с mpd + ng_car.

Ну пока есть такие люди, как lavr, например - опеннет сам кому хош в морду даст! ;-)

а что - lavr и jab разные люди? :)

Join the conversation

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

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...
На сайте используются файлы cookie и сервисы аналитики для корректной работы форума и улучшения качества обслуживания. Продолжая использовать сайт, вы соглашаетесь с использованием файлов cookie и с Политикой конфиденциальности.