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

FreeBSD + ipfw + ng_car Работает ли?

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

 

Работает ли у кого связка 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 под нагрузкой?

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


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

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

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

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


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

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

Аналогично.

 

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

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


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

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

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

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

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

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


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

 

Нафик нужно, dummynet forever.

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


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

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

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

 

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


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

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

 

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

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


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

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

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

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

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

 

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

 

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

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

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


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

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, и чтобы стало совсем нечитабельно. А потом еще написать кучу костылей, чтобы со всем этим можно было хоть как-то работать.
Изменено пользователем photon

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


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

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

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

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


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

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

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

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

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


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

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

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

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

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


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

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

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

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

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


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

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

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

 

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

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

 

 

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

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

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

+1

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

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


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

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

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

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

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

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


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

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

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

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

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

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

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


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

 

Без всякой perl-обвязки и плясок с бубнами...

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


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

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

 

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

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

 

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


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

всем привет!

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

связка Abills+mpd+ng_car

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

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

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

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

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

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

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

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


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

ждём телепатов для получения вменяемой информации

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


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

terrible

да даже все хрустальные шары уже переколол)

 

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


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

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

 

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

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

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

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


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

 

Попрошу не обзываться. :-)

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


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

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

чего бы я смотрел в сторону ng_car тогда?

Вот, полюбуйтесь

http://community.livejournal.com/ru_freebsd/169951.html

http://forum.lissyara.su/viewtopic.php?f=4&t=24332

 

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


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

Join the conversation

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

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

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

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

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

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

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