Размер буфера fifo на сетевом интерфейсе

Все о специализированных сетевых программных продуктах
Аватара пользователя
tvremtoh

 
Сообщения: 13
Зарегистрирован:
25 авг 2008, 15:17

Размер буфера fifo на сетевом интерфейсе

Сообщение tvremtoh 04 фев 2010, 19:51

Имеется некоторый трабл на микротике 3.30 , связанный с появлением Rx drop пакетов через неопределенный промежуток времени , по графикам кактуса видна связь с ростом пппое и впн соединений (на графике виден рост примерно до 50-60 соединений) . Дальше события развиваются примерно так - рост пингов на локальный интерфес вплоть до 1,5 секунд :) . Перезагрузка помогает . Однако наталкивает на мысль , что связано это с размеров буфера fifo , который равен по умолчанию 50 . В некоторых доках например здесь http://mum.mikrotik.com/presentations/C ... _Megis.pdf , описан пример применения pcq очередей и задается размер буфера очереди как производная 40-50 потов одного клиента на их колличество ....
Может конечно у меня лыжи не едут , но другой мысли , связанной с появлением дропаных пакетов на локальном интерфейсе при ппс прим 2000 пакетов и скорости на интерфейсе прибл 10-15 мегабит при длине fifo=50 у меня нет , такое впечатление , что примерно после создания более 50 туннелей (по сути это 50 потоков ) на интерфейсе начинаются дропы пакетов ....

Аватара пользователя
Igoras
Moderator
Moderator
 
Сообщения: 3248
Зарегистрирован:
22 окт 2003, 20:27
Откуда: Кишинев, Starushka.net

Re: Размер буфера fifo на сетевом интерфейсе

Сообщение Igoras 05 фев 2010, 00:36

а что мешает попробовать поставить например 100?

Аватара пользователя
tvremtoh

 
Сообщения: 13
Зарегистрирован:
25 авг 2008, 15:17

Re: Размер буфера fifo на сетевом интерфейсе

Сообщение tvremtoh 05 фев 2010, 14:57

В общем никто не мешает поставить fifo больше , просто при возникновении загадочной проблемы в голове роятся мысли ...
Вчера было решено довольно кардинально - исходная машинка с мамкой KT400+1600 Duron AMD+LAN phine 2 on board and Phine3- dlink на небольшой и качественный системничек Siemens -p4-3.0 socket 478 intel 865 lan integer 1 gbit + lan dlink dge-528 .
Незнаю как насчет дропов пакетов - пока 16 часов полет нормальный , поразило другое - загрузка ЦПУ упала в 5 раз ! При том же количестве соединений , на графиках кактуса поразительная разница . С чем связана была такаясумасшедшая загрузка первоначальной системы объективно не понятно , пытаюсь привязать дропы к этому варианту , пока мысли умные в голову не лезут .
И всеже конкретизирую вопрос насчет буфера fifo - необходимо ли увеличивать буфер прямо пропорционально кол\ву пппое тунелей\локальных соединений ? Судя по докам Wiki Mikrotik на примерех реализации PCQ , буфер необходимо увеличивать в пропорции 40-50 потоков на локального зверя при условии средней длины пакета в 2000 байт . То и есть при 200 локальных пользователях - 200*40=2000 ! Также автор описывает пожирание оперативы связанное с увеличением буфера . Какие мнения господа ?

Аватара пользователя
Igoras
Moderator
Moderator
 
Сообщения: 3248
Зарегистрирован:
22 окт 2003, 20:27
Откуда: Кишинев, Starushka.net

Re: Размер буфера fifo на сетевом интерфейсе

Сообщение Igoras 05 фев 2010, 16:16

tvremtoh писал(а):загрузка ЦПУ упала в 5 раз !

Ничего странного нет, заменить Дюрон, который почти без кэша на П4, с 2 или 4 метрами кэша на борту, не говоря уже о более высокой частоте шины... Да и сетевухи стали более производительными и меньше грузят проц... Ниже загрузка проца на DualCore Athlon 64 2.2 Ghz + 512 Mb Ram + 256 Mb USB Flash... Суммарный канал в районе 100 мбит...
sys_mt-monthly.png



А при чем тут длина буфера в пакетах на fifo-очередях к примеру с потоками на pcq? Это как ни крути разные уровни представления.... в pcq нужно такое чисто потоков, чтобы разложить пакеты от юзеров "по полочкам", то есть на под-потоки, fifo же регулирует скорость через себя с промощью обычного дропа/таймаута пакетов на входе, пока из него не уйдет пакет... Там когда-то картинки были замечательные, демонстрирующие принцип работы разных типов шейперов...
http://www.mikrotik.com/testdocs/ros/3. ... ent.php#.2

Аватара пользователя
tvremtoh

 
Сообщения: 13
Зарегистрирован:
25 авг 2008, 15:17

Re: Размер буфера fifo на сетевом интерфейсе

Сообщение tvremtoh 05 фев 2010, 20:30

В общем конечно все ясно , насчет типов очередей разжевано неплохо здесь http://www.nixp.ru/articles/УправD0 ... B4ей.html . Насчет микротика где приведены красивые картинки с типом очередей к сожалению не все так хорошо - красивые только картинки , применение в реалии жизни не рассмотрено . Именно в этом разрезе я и спрашивал насчет размера колва паетов в fifo . Буду считать , что мои проблемы были связаны с нестабильно работающей железкой - именно к такому выводу я пришел .
Ну раз такая пошла пьянка то очевидным становится вопрос , а есть ли смысл переходить на PCQ ? . Ведь не я должен заботиться по сути чтобы распределить полосу равномерно между приложениями (потоками) клиента или чего то не понял ? А как насчет ситации когда к примеру тип очереди локального (физического интерф. роутера) PCQ , а очереди виртуальных интерфейсов (пппое тунели) fifo . Как будет работать подобная ситуация ?

Аватара пользователя
Igoras
Moderator
Moderator
 
Сообщения: 3248
Зарегистрирован:
22 окт 2003, 20:27
Откуда: Кишинев, Starushka.net

Re: Размер буфера fifo на сетевом интерфейсе

Сообщение Igoras 05 фев 2010, 22:19

Ну, не заметил великой разницы между "Наконец, самый простой тип classless-очереди — pfifo (лимит пакетов) и bfifo (лимит байтов). Эти очереди являются простыми очередями определенной длины, не выполняющими никаких действий над поступающими в них пакетами. Единственный параметр таких очередей — limit, означающий размер очереди в пакетах (pfifo) и в байтах (bfifo)" и "These queuing disciplines are based on the FIFO algorithm (First-In First-Out). The difference between PFIFO and BFIFO is that one is measured in packets and the other one in bytes. There is only one parameter called pfifo-limit (or bfifo-limit in case of BFIFO) which defines how much data a FIFO queue can hold. Every packet that cannot be enqueued (if the queue is full), is dropped. Large queue sizes can increase latency, but utilize channel better. Use FIFO queuing disciplines if you have a noncongested link." Во втором случае инфы даже больше.... а внизу целых 3 примера как пользоваться очередями в реалии жизни...

Если все ясно, то вопроса о переходе на PCQ бы не стояло. PCQ это тип, который позволяет резать пакеты на подочереди по определенному признаку, чтобы затем для этих подочередей выставить некий лимит. Удобно использовать, когда есть канал в 10 мбит, и хочется, чтобы был один шейпер, который бы делил эти 10 мбит между всеми поровну при большой загрузке, но в то же время чтобы каждый клиент не мог качать быстрее 2 мбит. Вот тогда создается pcq-очередь, вернее 2 очереди, на вход и на выход, где раскладывание на подочереди ведется по дст и срц ип соответственно, затем создается правило в queue tree (по сути HTB-дерево, если в терминологии статьи об iproute2), выставляются лимиты скорости для подочередей внутри pcq-очереди (pcq-rate), в данном случае 2 мбита, и выставляется лимит скорости на сами pcq-очереди в queue tree - 10 мбит. В итоге юзеры качают с максимальной скоростью 2 мбита при свободном канале, и скорость пропорционально снижается при загрузке общего канала до предела.

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

Аватара пользователя
tvremtoh

 
Сообщения: 13
Зарегистрирован:
25 авг 2008, 15:17

Re: Размер буфера fifo на сетевом интерфейсе

Сообщение tvremtoh 06 фев 2010, 11:26

Благодарю за поддержку , тема конечно переросла немного в другое русло , но все же спасибо что не отказали . В итоге можно подвести - PCQ интересен только при продаже помегабайтного трафика , а в нашем случае пока мы нарезаем пользователю безлимиты с определенной полосой это не интересно , во всяком случае пока .

Аватара пользователя
Igoras
Moderator
Moderator
 
Сообщения: 3248
Зарегистрирован:
22 окт 2003, 20:27
Откуда: Кишинев, Starushka.net

Re: Размер буфера fifo на сетевом интерфейсе

Сообщение Igoras 06 фев 2010, 13:43

tvremtoh,
Как раз таки для нарезания безлимитов с определенной одинаковой для всех полосой он и интересен... чтобы не создавать по правилу на каждого пользователя, создается несколько pcq-очередей с указанным лимитом... просто не надо это правило привязывать к интерфейсам, оно отлично работает с packet marks, и дает намного большую гибкость в этом случае...

Аватара пользователя
tvremtoh

 
Сообщения: 13
Зарегистрирован:
25 авг 2008, 15:17

Re: Размер буфера fifo на сетевом интерфейсе

Сообщение tvremtoh 08 фев 2010, 00:48

Ну это с какой стороны посмотреть , ежели как в моем случае база пользователей в биллинге , к примеру в абилсе , то мне гораздо проще создать тарифный план , чем мутить в роутере такое движение . Ну а биллинг сам поставит очереди какие надо . А в чем собственно проблема неужели несколько сотен очередей создас проблему роутеру ? Имеется какаято статистика ? Просто реально ежели без биллинга то создание такого колва очередей это конечно гемор , а так биллинг их динамически создает и рубит по оканчании сессии .


Вернуться в Сетевое программное обеспечение

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 9

cron