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

freebsd 7.1 роутер, em0 тест и тюнинг

В исходниках mpd (если я правильно помню) формула для дефолтов такая: ebs=cir/8 cbs=ebs/2
car.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 там вешается на клиентские тунели.
надо отловить эту "фичу"

 

спасибо за замечание

Изменено пользователем Giga-Byte

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


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

остается вопрос о производительности, как все это будет на SMP паралелится.

Насколько я понимаю - на уровне ядра.

Какого еще ядра ? Прошлогодний мартовский патч Мотина в 7.1-RELEASE вошел или нет ? И не он ли породил всю эту кучу воплей про mpd netgraph panic на 7.1 ?

а можно поподробнее про патч и вис mpd ?

 

Стояла у меня машинка с 7.1 &mpd5.2 +ng_nat_ng_netflow, висла раз в 2 дня, думал проблема в сетевушке реалтек.

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


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

IvanI, а зачем по правилу на пайп, почему бы не использовать tablearg?

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


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

По поводу tables коль уж их затронули, хочу обратить Ваше внимание на следующий баг: http://www.freebsd.org/cgi/query-pr.cgi?pr=kern/127209

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

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


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

В целом, этот баг с таблицами проявляется косвенно при тестировании - попробуйте добавить более 2500 записей в произвольную таблицу :)

Я остановился на 1500.

 

Возникли вопросы по NG_CAR - правельноли выбраны cbs и ebs для mode=2 как настраивать длинну очереди шейпера в mode=3?
Я читал книжку Cisco QOS in IP и опираясь, на прочитанное расчитывал значения.
Изменено пользователем Dm1try

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


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

Я читал книжку Cisco QOS in IP и опираясь, на прочитанное расчитывал значения.

И там написано как настроить длинну очереди в NG_CAR???

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


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

Для самых небыстрых обьясняю вопрос:

cbs; /* Committed burst size (bytes) */

ebs; /* Exceeded/Peak burst size (bytes) */

Где здесь "queue length"?

 

И фряха обрабатывает сетевые события 1000 раз в секунду(HZ=1000), соответственно брусты надо рассчитывать на 1 милисекунду?

 

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


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

Вы видимо, настолько суровы, что разбираетесь в коде NG_CAR лучше Мотина :)

 

В зависимости от результатов дозирования принимается соответствующее решение
(передать пакет, отбросить пакет и т.п.).
Схема "корзина маркеров" предполагает наличие трех ключевых параметров.
• Средняя интенсивность, или согласованная скорость передачи информации (Committed Information Rate — CIR), бит/с. Как правило, интенсивность трафика не превышает согласованную скорость передачи информации.
• Согласованный размер всплеска (Вс), байт. Объем трафика, на который может быть превышен размер корзины маркеров в отдельно взятый момент времени. Иногда этот параметр называют также стандартным размером всплеска.
• Расширенный размер всплеска (ВЕ), байт. "Резервный фонд". Объем трафика, на который может быть превышен размер корзины маркеров в экстренном случае. Всплеск, размер которого находится между согласованным и расширенным размером, разрешается, как правило, только для не большой части трафика.

 

Дальнейшую маркировку NG_CAR-ом пакетов по типу трафика на зеленый/желтый/красный объяснять суровым людям видимо не мне.

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


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

Я в коде неразбираюсь, а документация к NG_CAR как и ко всей FREEBSD можно сказать отсутствует(понятна только тому кто разрабатывает данный мрдуль).

Спросил я очень простую вещь -

Возникли вопросы по NG_CAR - правельноли выбраны cbs и ebs для mode=2 как настраивать длинну очереди шейпера в mode=3?
(cir 500 мегабит, cbs и ebs по 100 килобайт, HZ= 1000) и никто не ответил....
Изменено пользователем IvanI

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


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

как настраивать длинну очереди шейпера в mode=3?
NG_CAR_SHAPE

Queue parameters are hardcoded: length 99 packets, min_th 8 packets, max_p 100%.

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


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

Тоесть никак?

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


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

Я в коде неразбираюсь, а документация к 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 роли не играет ИМХО.

 

 

 

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


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

HZ роли не играет ИМХО.

:) ну почему же, если поставить HZ=100, то очень даже сыграет. Правильно сказать HZ>=1000 роли не играет.

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


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

В случае только с NG_CAR - я думаю нет. Ибо как показанно выше восполнение очереди от HZ никак не зависит.

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

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


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

то Dm1try

Ответили здесь же - очень давно http://forum.nag.ru/forum/index.php?showtopic=42869
Спасибо, это намного интересней, но всеже придется придумать как тестить.

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


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

Первые результаты - случайно(неглядя) на 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%...

 

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


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

Все чуть подругоу:

ТОП глючит на обоих серверах с ксеонами и на каждом по своему, при потоке с 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

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


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

Сделал некотрые тесты, решил в отдельную тему кинуть http://forum.nag.ru/forum/index.php?showtopic=48125

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


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

Иван, вопрос один возник. Скажем есть "однорукий" (все VLAN-ы включая аплинки транком заведены на гигабитную карточку) роутер который разруливает 400Мбит траффика. Есть ли смысл в плане улучшения распаралеливания сетевого кода на многоядерном проце поставить вторую карточку на которой держать аплинки, а на первой оставить юзеровские VLAN-ы ?

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


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

 

Хороший образец как не надо делать. Однорукие рутера не нужно делать никогда. И не только из-за распараллеливания кода. А просто

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

на самом деле - это 200 мегабит полезного траффика.

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


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

это все понятно. просто у меня затык по cpu наступает раньше чем затык по пропускной способности карточки.

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


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

 

Перечитайте мой предыдущий пост пять раз.

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


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

это все понятно. вопорос был про распаралеливание.

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


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

http://lists.freebsd.org/pipermail/freebsd...ber/019841.html

Kaban, читай последний абзац.

Но у меня паралелится! Пробуй. net.isr.direct ставь 1.

 

Считаю, что техничнее делать лагг, с заведением на него всех влан.

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

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


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

Join the conversation

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

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

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

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

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

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

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