Giga-Byte Posted March 30, 2009 Posted March 30, 2009 (edited) В исходниках mpd (если я правильно помню) формула для дефолтов такая: ebs=cir/8 cbs=ebs/2car.upstream.cbs = car.upstream.cir / 8;car.upstream.ebs = car.upstream.cbs * 2; ... car.downstream = car.upstream; имхо жирно будет абоненту. После 7.1-RELEASE иногда (!) ng_car не шейпит трафик. может у меня руки кривые, но getconf показывает правильный конфиг, getstat весь трафик показывает green. Не часто, но на 1000 сессий mpd раз-два в сутки выскакивает, ng_car там вешается на клиентские тунели.надо отловить эту "фичу" спасибо за замечание Edited April 3, 2009 by Giga-Byte Вставить ник Quote
Mechanic Posted March 30, 2009 Posted March 30, 2009 остается вопрос о производительности, как все это будет на SMP паралелится. Насколько я понимаю - на уровне ядра. Какого еще ядра ? Прошлогодний мартовский патч Мотина в 7.1-RELEASE вошел или нет ? И не он ли породил всю эту кучу воплей про mpd netgraph panic на 7.1 ? а можно поподробнее про патч и вис mpd ? Стояла у меня машинка с 7.1 &mpd5.2 +ng_nat_ng_netflow, висла раз в 2 дня, думал проблема в сетевушке реалтек. Вставить ник Quote
[GP]Villi Posted March 31, 2009 Posted March 31, 2009 IvanI, а зачем по правилу на пайп, почему бы не использовать tablearg? Вставить ник Quote
BlackDeath Posted March 31, 2009 Posted March 31, 2009 По поводу tables коль уж их затронули, хочу обратить Ваше внимание на следующий баг: http://www.freebsd.org/cgi/query-pr.cgi?pr=kern/127209 На слабонагруженых машинах практически не проявляется, однако при добавлении через utm_rfw около 2000 записей, таблицы начинают глючить именно так, как и описано. Вставить ник Quote
Dm1try Posted March 31, 2009 Posted March 31, 2009 (edited) В целом, этот баг с таблицами проявляется косвенно при тестировании - попробуйте добавить более 2500 записей в произвольную таблицу :) Я остановился на 1500. Возникли вопросы по NG_CAR - правельноли выбраны cbs и ebs для mode=2 как настраивать длинну очереди шейпера в mode=3?Я читал книжку Cisco QOS in IP и опираясь, на прочитанное расчитывал значения. Edited March 31, 2009 by Dm1try Вставить ник Quote
IvanI Posted March 31, 2009 Author Posted March 31, 2009 Я читал книжку Cisco QOS in IP и опираясь, на прочитанное расчитывал значения. И там написано как настроить длинну очереди в NG_CAR??? Вставить ник Quote
Dm1try Posted March 31, 2009 Posted March 31, 2009 Да. Committed Access Rate - пришло к нам от Cisco :) Вставить ник Quote
IvanI Posted March 31, 2009 Author Posted March 31, 2009 Для самых небыстрых обьясняю вопрос: cbs; /* Committed burst size (bytes) */ ebs; /* Exceeded/Peak burst size (bytes) */ Где здесь "queue length"? И фряха обрабатывает сетевые события 1000 раз в секунду(HZ=1000), соответственно брусты надо рассчитывать на 1 милисекунду? Вставить ник Quote
Dm1try Posted April 1, 2009 Posted April 1, 2009 Вы видимо, настолько суровы, что разбираетесь в коде NG_CAR лучше Мотина :) В зависимости от результатов дозирования принимается соответствующее решение (передать пакет, отбросить пакет и т.п.). Схема "корзина маркеров" предполагает наличие трех ключевых параметров. • Средняя интенсивность, или согласованная скорость передачи информации (Committed Information Rate — CIR), бит/с. Как правило, интенсивность трафика не превышает согласованную скорость передачи информации. • Согласованный размер всплеска (Вс), байт. Объем трафика, на который может быть превышен размер корзины маркеров в отдельно взятый момент времени. Иногда этот параметр называют также стандартным размером всплеска. • Расширенный размер всплеска (ВЕ), байт. "Резервный фонд". Объем трафика, на который может быть превышен размер корзины маркеров в экстренном случае. Всплеск, размер которого находится между согласованным и расширенным размером, разрешается, как правило, только для не большой части трафика. Дальнейшую маркировку NG_CAR-ом пакетов по типу трафика на зеленый/желтый/красный объяснять суровым людям видимо не мне. Вставить ник Quote
IvanI Posted April 1, 2009 Author Posted April 1, 2009 (edited) Я в коде неразбираюсь, а документация к NG_CAR как и ко всей FREEBSD можно сказать отсутствует(понятна только тому кто разрабатывает данный мрдуль). Спросил я очень простую вещь - Возникли вопросы по NG_CAR - правельноли выбраны cbs и ebs для mode=2 как настраивать длинну очереди шейпера в mode=3?(cir 500 мегабит, cbs и ebs по 100 килобайт, HZ= 1000) и никто не ответил.... Edited April 1, 2009 by IvanI Вставить ник Quote
littlesavage Posted April 1, 2009 Posted April 1, 2009 как настраивать длинну очереди шейпера в mode=3? NG_CAR_SHAPEQueue parameters are hardcoded: length 99 packets, min_th 8 packets, max_p 100%. Вставить ник Quote
Dm1try Posted April 1, 2009 Posted April 1, 2009 Я в коде неразбираюсь, а документация к NG_CAR как и ко всей FREEBSD можно сказать отсутствует(понятна только тому кто разрабатывает данный мрдуль).Спросил я очень простую вещь - Возникли вопросы по NG_CAR - правельноли выбраны cbs и ebs для mode=2 как настраивать длинну очереди шейпера в mode=3?(cir 500 мегабит, cbs и ebs по 100 килобайт, HZ= 1000) и никто не ответил.... Ответили здесь же - очень давно http://forum.nag.ru/forum/index.php?showtopic=42869 (после этого я и стал книжку читать, собственно). HZ роли не играет ИМХО. Вставить ник Quote
Alexandr Ovcharenko Posted April 1, 2009 Posted April 1, 2009 HZ роли не играет ИМХО. :) ну почему же, если поставить HZ=100, то очень даже сыграет. Правильно сказать HZ>=1000 роли не играет. Вставить ник Quote
Dm1try Posted April 1, 2009 Posted April 1, 2009 В случае только с NG_CAR - я думаю нет. Ибо как показанно выше восполнение очереди от HZ никак не зависит. Но честно, сам сомневаюсь - кажется тесты проводил, но вот результаты не сохранились - посмотреть негде. Вставить ник Quote
IvanI Posted April 1, 2009 Author Posted April 1, 2009 то Dm1try Ответили здесь же - очень давно http://forum.nag.ru/forum/index.php?showtopic=42869 Спасибо, это намного интересней, но всеже придется придумать как тестить. Вставить ник Quote
IvanI Posted April 2, 2009 Author Posted April 2, 2009 Первые результаты - случайно(неглядя) на 1 из серверов стенда поставил релиз 7.1 AMD64 , первые сомнения возникли когда установка, вместе с портами, прошла менее чем за 5 мин, при двух запущенных iperf -u -c 10.189.1.10 -i 10 -l 550 -t 300 -b 500M 1 процессор e5410 полностью загруженный на AMD64 примерно на 5% больше трафика выплевывает чем 2 процессора e5420 загруженные на ~60%... Вставить ник Quote
IvanI Posted April 3, 2009 Author Posted April 3, 2009 Все чуть подругоу: ТОП глючит на обоих серверах с ксеонами и на каждом по своему, при потоке с IPERF от 100 до 800 Мбит/с он сьедает 2 ядра полностью, запустил по 2 iperf -u -c 10.189.1.10 -i 10 -l 550 -t 300 -b 900M и вот что получилось: дуал e5420, 32 бит 46% idle 0.0-300.0 sec 27.2 GBytes 777 Mbits/sec 0.0-300.0 sec 27.0 GBytes 774 Mbits/sec попытка 2 0.0-300.0 sec 23.9 GBytes 683 Mbits/sec 0.0-300.0 sec 24.1 GBytes 690 Mbits/sec попытка 3 0.0-300.0 sec 27.2 GBytes 778 Mbits/sec 0.0-300.0 sec 27.1 GBytes 776 Mbits/sec попытка 4 0.0-300.0 sec 23.8 GBytes 682 Mbits/sec 0.0-300.0 sec 24.1 GBytes 690 Mbits/sec сингл e5410, 64 бит 6% idle 0.0-300.0 sec 29.9 GBytes 856 Mbits/sec 0.0-300.0 sec 29.8 GBytes 853 Mbits/sec попытка 2 0.0-300.0 sec 29.7 GBytes 850 Mbits/sec 0.0-300.0 sec 30.1 GBytes 862 Mbits/sec попытка 3 0.0-300.0 sec 29.8 GBytes 855 Mbits/sec 0.0-300.0 sec 29.8 GBytes 855 Mbits/sec попытка 4 0.0-300.0 sec 29.8 GBytes 854 Mbits/sec 0.0-300.0 sec 29.6 GBytes 848 Mbits/sec Вставить ник Quote
IvanI Posted April 6, 2009 Author Posted April 6, 2009 Сделал некотрые тесты, решил в отдельную тему кинуть http://forum.nag.ru/forum/index.php?showtopic=48125 Вставить ник Quote
Kaban Posted April 9, 2009 Posted April 9, 2009 Иван, вопрос один возник. Скажем есть "однорукий" (все VLAN-ы включая аплинки транком заведены на гигабитную карточку) роутер который разруливает 400Мбит траффика. Есть ли смысл в плане улучшения распаралеливания сетевого кода на многоядерном проце поставить вторую карточку на которой держать аплинки, а на первой оставить юзеровские VLAN-ы ? Вставить ник Quote
jab Posted April 10, 2009 Posted April 10, 2009 Хороший образец как не надо делать. Однорукие рутера не нужно делать никогда. И не только из-за распараллеливания кода. А просто из-за того, что у двух карточек в два раза больше буфферов и дескрипторов. Через одну карточку траффик ходит два раза, и ваши 400 мегабит на самом деле - это 200 мегабит полезного траффика. Вставить ник Quote
Kaban Posted April 10, 2009 Posted April 10, 2009 это все понятно. просто у меня затык по cpu наступает раньше чем затык по пропускной способности карточки. Вставить ник Quote
jab Posted April 10, 2009 Posted April 10, 2009 Перечитайте мой предыдущий пост пять раз. Вставить ник Quote
Kaban Posted April 10, 2009 Posted April 10, 2009 это все понятно. вопорос был про распаралеливание. Вставить ник Quote
Vinc Posted April 10, 2009 Posted April 10, 2009 (edited) http://lists.freebsd.org/pipermail/freebsd...ber/019841.html Kaban, читай последний абзац. Но у меня паралелится! Пробуй. net.isr.direct ставь 1. Считаю, что техничнее делать лагг, с заведением на него всех влан. Edited April 10, 2009 by Vinc Вставить ник Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.