Jump to content
Калькуляторы

Ограничение скорости на Mikrotik с помощью Simple Queues Правильный способ.

Тем, кто ограничивает скорость на микротике в Simple Queues без использования деревьев очередей наверное сталкиваются с проблемой, когда при загрузке абонентом своего тарифа на всю увеличивается задержка, и появляются потери пакетов.

 

Что бы этого не происходило, нужно изменить стандартный тип шейпера default-small в разделе Queue Types, указав в нем тип шейпера PCQ со следующими параметрами:

 

Limit - 5000

Total Limit - 200000

Classifier - поставить все 4 галочки.

 

Или просто ввести команду в терминал:

 

/queue type
set [find name=default-small] kind=pcq pcq-classifier=src-address,dst-address,src-port,dst-port pcq-limit=5000KiB pcq-total-limit=200000KiB

 

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

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

 

Например при использовании обычного типа PFIFO и 500 пакетов, задержка при полной нагрузке может достигать 400-600мс, при использовании PCQ первые 1-5 секунд задержка в районе 200-300, однако потом снижается до 1-20мс и поддерживается на этом уровне, пока поток трафика не прекратится.

Share this post


Link to post
Share on other sites

А если у меня PPPoE и данные по ограничению скорости прилетают из RADIUS? То тогда в pcq-limit и pcq-total-limit чего поставить?

Share this post


Link to post
Share on other sites

А если у меня PPPoE и данные по ограничению скорости прилетают из RADIUS? То тогда в pcq-limit и pcq-total-limit чего поставить?

Вам просто тип очереди изменить нужно. Радиус создает симплы с одним и тем же Queue Types, измените kind у используемого типа очереди (default-small) на необходимый.

Edited by Fint

Share this post


Link to post
Share on other sites

Тем, кто ограничивает скорость на микротике в Simple Queues без использования деревьев очередей наверное сталкиваются с проблемой, когда при загрузке абонентом своего тарифа на всю увеличивается задержка, и появляются потери пакетов.

 

Что бы этого не происходило, нужно изменить стандартный тип шейпера default-small в разделе Queue Types, указав в нем тип шейпера PCQ со следующими параметрами:

 

Limit - 5000

Total Limit - 200000

Classifier - поставить все 4 галочки.

 

Или просто ввести команду в терминал:

 

/queue type
set [find name=default-small] kind=pcq pcq-classifier=src-address,dst-address,src-port,dst-port pcq-limit=5000KiB pcq-total-limit=200000KiB

 

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

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

 

Например при использовании обычного типа PFIFO и 500 пакетов, задержка при полной нагрузке может достигать 400-600мс, при использовании PCQ первые 1-5 секунд задержка в районе 200-300, однако потом снижается до 1-20мс и поддерживается на этом уровне, пока поток трафика не прекратится.

Какой профит? Я использую sfq perturb: 5s allot: 1514

Share this post


Link to post
Share on other sites

Какой профит? Я использую sfq perturb: 5s allot: 1514

 

В отсутствии дропов и выравнивания скорости в пределах очереди абонента.

У PCQ есть определенное ограничение на добавление параллельных потоков в дополнительные очереди. Если делать по аналогии со старыми инструкциями на 5 ветке, где маркировался трафик и потом по PCQ очередям происходило ограничение скорости и выравнивание общего канала - там одно правило обрабатывало весь трафик от абонентов, и параметры Limit и прочие действовали на всех абонентов. Когда же очередь PCQ создается для одного абонента в симплах, то выравнивается трафик по одному IP адресу абонента, и тут лимиты действуют на трафик одного абонента.

 

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

Share this post


Link to post
Share on other sites

Может не совсем в тему: может кто-нить выложить свое дерево PCQ? Нужно порядок навести со скоростями, а понимания чет нет как лучше сделать.

Share this post


Link to post
Share on other sites

Может не совсем в тему: может кто-нить выложить свое дерево PCQ

Если не управляете скоростью по группе тарифов - делайте в Simple - нагрузка несколько ниже.

Если надо управлять скоростью по группе тарифов в рамках Simple - есть COA.

Share this post


Link to post
Share on other sites

Может не совсем в тему: может кто-нить выложить свое дерево PCQ? Нужно порядок навести со скоростями, а понимания чет нет как лучше сделать.

 

Сейчас нет смысла делать деревья для ограничения скорости абонентам. Гораздо правильнее ограничивать скорость симплами - по IP абонента или по интерфейсу (при использовании PPPoE например). Далее, на отдельном микротике создаете отдельное ограничение скорости через PCQ с большим буфером - которое будет выравнивать скорость под имеющийся внешний канал интернета. Такая схема более эффективная, чем сразу подгонять под ограничения.

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

Share this post


Link to post
Share on other sites

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

Да вот в этом весь гемор - и куда от него денешься.

 

И все же есть один BRAS на котором есть сервера PPPoE c авторизацией по RADIUS. Как сделать "хорошо"?

Edited by SlipKo

Share this post


Link to post
Share on other sites

Может стоит начать с вопроса - а что именно сейчас плохо?

Share this post


Link to post
Share on other sites

И все же есть один BRAS на котором есть сервера PPPoE c авторизацией по RADIUS. Как сделать "хорошо"?

 

Нужно посмотреть сколько трафика теряется при прохождении роутера. Обычно, если работают шейпера у абонентов, поток входящей скорости 100М, ограничений у провайдера нет, то к абонентам идет около 90-95, а 5-10 мегабит теряются на дропах в шейперах. Далее к этому трафику прибавляете переповторы, которые появляются в следствии дропов трафика шейпером - это еще 5-10 процентов. И тогда при входящих 100 реально абоненты получают около 80-85 мегабит. Потери 10-15 мегабит. Если входящий канал гигабит, абонентов много, многие качают и шейпер обрезает им скорость, потери уже могут достигать более 100 мегабит. Так же переповторы расходятся по всей сети, и если она сделана на радио - повышается нагрузка, и на БС с большим количеством абонентов идет перегруз трафика.

 

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

Share this post


Link to post
Share on other sites

Добрый вечер Saab95

есть предложение по Mikrotik RouterBOARD SXT 6 но письма мои до вас не доходят.

мой адрес demon@vgg.ru напишите пожалуйста.

Share this post


Link to post
Share on other sites

Тем, кто ограничивает скорость на микротике в Simple Queues без использования деревьев очередей наверное сталкиваются с проблемой, когда при загрузке абонентом своего тарифа на всю увеличивается задержка, и появляются потери пакетов.

 

Что бы этого не происходило, нужно изменить стандартный тип шейпера default-small в разделе Queue Types, указав в нем тип шейпера PCQ со следующими параметрами:

 

Limit - 5000

Total Limit - 200000

Classifier - поставить все 4 галочки.

 

Или просто ввести команду в терминал:

 

/queue type
set [find name=default-small] kind=pcq pcq-classifier=src-address,dst-address,src-port,dst-port pcq-limit=5000KiB pcq-total-limit=200000KiB

 

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

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

 

Например при использовании обычного типа PFIFO и 500 пакетов, задержка при полной нагрузке может достигать 400-600мс, при использовании PCQ первые 1-5 секунд задержка в районе 200-300, однако потом снижается до 1-20мс и поддерживается на этом уровне, пока поток трафика не прекратится.

Разница почувствуется только когда очередь шейпера переполнена (абон качает на весь тариф)?

 

Сделал у себя так, разницы не заметил.

Share this post


Link to post
Share on other sites

Разница будет видна на уменьшении потребляемой скорости по входящему каналу из-за отсутствия дропов. Если отсортируете столбики шейпера по столбцу дропы - увидите, что их нет ни у кого. Разве только у совсем ярых качальщиков в 1000 потоков.

 

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

Share this post


Link to post
Share on other sites

Разница будет видна на уменьшении потребляемой скорости по входящему каналу из-за отсутствия дропов. Если отсортируете столбики шейпера по столбцу дропы - увидите, что их нет ни у кого. Разве только у совсем ярых качальщиков в 1000 потоков.

 

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

А в беспроводной сети с тарифами 1-4 Мбит/сек есть смысл ставить эти настройки?

Share this post


Link to post
Share on other sites

В любом случае имеет смысл их ставить, особенно с медленными тарифами. Ведь если у абонента тариф 1 мегабит, он хочет что-то скачать, и пока файлы передаются, посмотреть что-то в интернете на сайтах и т.п. Обычно в таких случаях в программе ставят ограничение скорости 700к, а серфинг абонент получает на 300к. и вроде все идет. Но когда человек отлучится от компьютера по каким-то делам, закачка так и будет идти на скорости 700к и время скачивания файла увеличится.

 

Если шейпер PCQ, то у абонента будет открываться страничка и без ограничений в программе скачивания, только с не большой паузой, примерно 1-2 секунды, и сама она загрузится быстрее, т.к. скорость канала поделится поровну на закачку и веб серфинг.

 

На медленных тарифах обычно постоянно дропы, даже если стандартный тип буфера PFIFO установить в 500-1000 пакетов - он переполняется и данные отбрасываются, и эти данные перезапрашиваются с интернета повторно, загружая входящий канал.

Share this post


Link to post
Share on other sites

а не подскажите как правильно настроить quenue для L2 канала

а то настраиваем как нас учили, а что-то не срабатывает:

post-128901-031383500 1492872678_thumb.png

как видно нужно ограничение на бридж в 1 Mbit/s,

post-128901-094617000 1492872833_thumb.png

но по интерфейсам на этом бридже видно что quenue не работает ((

Edited by magnum50

Share this post


Link to post
Share on other sites

1) проставьте все галочки в /bridge/settings

 

2) таргетом в очереди укажите интерфейс, а не бридж

 

3) проверьте не настроен ли fasttrack в фаерволе

Share this post


Link to post
Share on other sites

Там в настройках бриджа есть маркировка пакетов, и с ней тоже может работать шейпер. Это если нужно ограничить скорость общую по нескольким L2 каналам.

Share this post


Link to post
Share on other sites

Настроил ограничение по следующей инструкции:

http://www.technotrade.com.ua/Articles/how_to_limit_throughput_mikrotik.php#burst_speed_limit

 

--------------Добавил pcq очередь на загрузку с параметрами Burst:

Rate=3M

Burst Rate=50M

Burst Threshold=2M

--------------Создал в Simple Queues правило на подсеть:

Name=queues-net

Target=10.0.0.0/22

А все остальные параметры - по умолчанию -т.е. unlimited

--Все отлично работает

--------------

Потом хочу адресу 10.0.0.10 дать больше скорости на закачку.

--в Queue Types добавляю pcq соответствующее

--Создаю правило "queues1" в Simple Queues, указываю только один ip

--Перемещаю данное правило в списке вверх

Но все равно на этот адрес действует правило "queues-net"

А когда отключаю правило "queues-net", тогда начинает действовать "queues1"

 

Не подскажете, что это может быть?

Share this post


Link to post
Share on other sites

В соответствии с этим https://supportila.ru/mikrotik-nastrojka-queues-tree.html маном выполнил настройки.Есть несколько моментом, которые мне не понятны.Вроде читал, что значение PCQ Queues должно быть приближенным к кол-ву хостов. Однако у меня компов 25 (ну + с десяток wi-fiклиентов), а значение PCQ Queues иногда заваливается за 100. Почему?

Если я настроил Queues Type и Queues Tree прописал цепочку, может ли влиять ранее настроенные ограничения на некоторые хосты в Simple Queues ?

 

Simple Queues

0 name="Servis" target=192.168.1.4/32 parent=none packet-marks=""

priority=8/8 queue=default-small/default-small limit-at=0/0

max-limit=5M/5M burst-limit=0/0 burst-threshold=0/0 burst-time=0s/0s

bucket-size=0.1/0.1

 

1 name="AlexPC"

target=192.168.1.110/32,192.168.1.126/32,192.168.1.128/32

parent=none packet-marks="" priority=8/8

queue=default-small/default-small limit-at=0/0 max-limit=3M/3M

burst-limit=0/0 burst-threshold=0/0 burst-time=0s/0s bucket-size=0.1/0.1

time=7h17m-19h30m,sun,mon,tue,wed,thu,fri,sat

 

2 name="shiny" target=192.168.1.119/32 parent=none packet-marks=""

priority=8/8 queue=default-small/default-small limit-at=0/0

max-limit=0/10M burst-limit=0/0 burst-threshold=0/0 burst-time=0s/0s

bucket-size=0.1/0.1

 

 

Queue Tree

0 name="GLOBAL" parent=global packet-mark="" limit-at=0 queue=default-small

priority=8 max-limit=0 burst-limit=0 burst-threshold=0 burst-time=0s

bucket-size=0.1

 

1 name="Work" parent=GLOBAL packet-mark="" limit-at=0 queue=default-small

priority=8 max-limit=0 burst-limit=0 burst-threshold=0 burst-time=0s

bucket-size=0.1

 

2 name="down" parent=Work packet-mark=down limit-at=1M queue=pcq-down-work

priority=8 max-limit=70M burst-limit=0 burst-threshold=0 burst-time=0s

bucket-size=0.1

 

3 name="up" parent=Work packet-mark=up limit-at=1M queue=pcq-up-work

priority=8 max-limit=70M burst-limit=0 burst-threshold=0 burst-time=0s

bucket-size=0.1

Edited by romsan

Share this post


Link to post
Share on other sites

Не подскажете, что это может быть?

 

Если в симпле не указываете ограничение скорости, и в PCQ его нет, то правило не будет работать, если даже его в самый верх поставили - укажите там большое ограничение скорости, например 100 или 1000М.

 

Вроде читал, что значение PCQ Queues должно быть приближенным к кол-ву хостов. Однако у меня компов 25 (ну + с десяток wi-fiклиентов), а значение PCQ Queues иногда заваливается за 100. Почему?

 

У вас в приведенном примере нет ничего про PCQ.

Если вы в классификаторе укажете только IP адрес без порта, тогда их будет равно количеству IP абонентов. А если там еще и порты указаны, то их может быть уже достаточно много, т.к. у каждого IP еще и свои потоки в пределах портов.

Share this post


Link to post
Share on other sites

Ахренть!! при нагрузке был пинг 300...500 стал как будто канал не загружен! 3...7 только я так понимаю что этот тип очереди надо перезаписать на каждое правило в шейпере (

 

Спасибо большое, интересная вещь!

кстати работает на 5.6

на первом рисунке (после применения настройки) видно что пинг вначале растет и потом уменьшается до приделов не загруженного канала. на втором рисунке это до настройки, и теперь при загрузке он больше 245 не растет. и быстренько уменьшается.

там еще в шейпере есть время буст, стоит 10 стоит с ним поиграться? )

 

Еще раз спасибо, очень полезная настройка!

post-119768-041853700 1495138582_thumb.png

post-119768-037092100 1495138593_thumb.jpg

post-119768-071647800 1495138600_thumb.jpg

Edited by Olejon

Share this post


Link to post
Share on other sites

Если ранее у вас PCQ не использовался, то можно не создавать новый тип PCQ, а изменить тип очереди стандартного правила, тогда у всех оно и будет использоваться. Максимальный эффект дает при работе без деревьев очередей - если нет цели приоритезации по протоколам, а только распределить входящий канал на всех.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now