Jump to content

Загрузка процессора Mikrotik CCR1036-8G-2S+ 80%-100%


Recommended Posts

Столкнулся со следующей бедой mikrotik постоянно загружен на 80%-100% и за шейпера.

Шейпер сделан по прицепу маркировки соединений и пакетов, на данном микротике работает примерно  1000 абонентов, тарифы у них 5, 8, 10, 20, 25, 30, 50, 80, 100 мегабит.

Входящий канал сейчас более 1 гигабита -  загрузка процессора подскакивает до 100% как при 600 мегабит так и при 900 мегабитах.

Делал такой эксперимент, если загрузка держится 100% или около того, я отключаю маркировку пакетов для 50 мегабитного тарифа и загрузка падает до 20-30%.

В mangle пробовал различные схемы менял Forward, postrouting, prerouting – результат нулевой загрузка держится.

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

Помогите разобраться, почему такая большая загрузка процессора, или может быть микротик на большее не способен, и надо ставить что-то другое, но вроде 36 ядре каждое 1,2 гигагерца.

 

 

В конфиге ниже могут быть небольшие не соответствия, такие как Forward, postrouting, prerouting поменяны местами это я уже пробовал метод научного тыка, и он не сработал

 

Конфиги микротика:

/ip firewall mangle
add action=mark-routing chain=prerouting new-routing-mark=w_ip passthrough=no src-address-list=w_ip
add action=mark-connection chain=postrouting comment=5M-connection-up connection-state=new new-connection-mark=5M-connection-up src-address-list=5M
add action=mark-packet chain=forward comment=5M_down connection-mark=5M-connection-down new-packet-mark=mark_5M_down passthrough=no
add action=mark-connection chain=forward comment=5M-connection-down connection-state=new dst-address-list=5M new-connection-mark=5M-connection-down
add action=mark-packet chain=postrouting comment=5M_up connection-mark=5M-connection-up new-packet-mark=mark_5M_up passthrough=no
add action=mark-connection chain=forward comment=8M-connection-up connection-state=new new-connection-mark=8M-connection-up src-address-list=8M
add action=mark-packet chain=forward comment=8M_up connection-mark=8M-connection-up new-packet-mark=mark_8M_up passthrough=no
add action=mark-connection chain=forward comment=8M-connection-down connection-state=new dst-address-list=8M new-connection-mark=8M-connection-down
add action=mark-packet chain=forward comment=15M_down connection-mark=15M-connection-down new-packet-mark=mark_15M_down passthrough=no
add action=mark-packet chain=forward comment=8M_down connection-mark=8M-connection-down new-packet-mark=mark_8M_down passthrough=no
add action=mark-connection chain=forward comment=10M-connection-up connection-state=new new-connection-mark=10M-connection-up src-address-list=10M
add action=mark-packet chain=forward comment=10M_up connection-mark=10M-connection-up new-packet-mark=mark_10M_up passthrough=no
add action=mark-connection chain=forward comment=10M-connection-down connection-state=new dst-address-list=10M new-connection-mark=10M-connection-down
add action=mark-packet chain=forward comment=10M_down connection-mark=10M-connection-down new-packet-mark=mark_10M_down passthrough=no
add action=mark-connection chain=forward comment=15M-connection-up connection-state=new new-connection-mark=15M-connection-up src-address-list=15M
add action=mark-packet chain=forward comment=15M_up connection-mark=15M-connection-up new-packet-mark=mark_15M_up passthrough=no
add action=mark-connection chain=forward comment=15M-connection-down connection-state=new dst-address-list=15M new-connection-mark=15M-connection-down
add action=mark-connection chain=prerouting comment=20M-connection-up connection-state=new new-connection-mark=20M-connection-up src-address-list=20M
add action=mark-packet chain=prerouting comment=20M_up connection-mark=20M-connection-up new-packet-mark=mark_20M_up passthrough=no
add action=mark-connection chain=prerouting comment=20M-connection-down connection-state=new dst-address-list=20M new-connection-mark=20M-connection-down
add action=mark-packet chain=prerouting comment=20M_down connection-mark=20M-connection-down new-packet-mark=mark_20M_down passthrough=no
add action=mark-connection chain=prerouting comment=25M-connection-up connection-state=new new-connection-mark=25M-connection-up passthrough=no    src-address-list=25M
add action=mark-packet chain=prerouting comment=25M_up connection-mark=25M-connection-up new-packet-mark=mark_25M_up passthrough=no
add action=mark-connection chain=prerouting comment=25M-connection-down connection-state=new dst-address-list=25M new-connection-mark=25M-connection-down    passthrough=no
add action=mark-packet chain=prerouting comment=25M_down connection-mark=25M-connection-down new-packet-mark=mark_25M_down passthrough=no
add action=mark-connection chain=prerouting comment=30M-connection-up connection-state=new new-connection-mark=30M-connection-up passthrough=no    src-address-list=30M
add action=mark-packet chain=prerouting comment=30M_up connection-mark=30M-connection-up new-packet-mark=mark_30M_up passthrough=no
add action=mark-connection chain=prerouting comment=30M-connection-down connection-state=new dst-address-list=30M new-connection-mark=30M-connection-down   passthrough=no
add action=mark-packet chain=prerouting comment=30M_down connection-mark=30M-connection-down new-packet-mark=mark_30M_down passthrough=no
add action=mark-connection chain=prerouting comment=50M-connection-up new-connection-mark=50M-connection-up src-address-list=50M
add action=mark-packet chain=prerouting comment=50M_up connection-mark=50M-connection-up new-packet-mark=mark_50M_up passthrough=no
add action=mark-connection chain=prerouting comment=50M-connection-down dst-address-list=50M new-connection-mark=50M-connection-down
add action=mark-packet chain=prerouting comment=50M_down connection-mark=50M-connection-down new-packet-mark=mark_50M_down passthrough=no
add action=mark-connection chain=forward comment=80M-connection-up connection-state=new new-connection-mark=80M-connection-up src-address-list=80M
add action=mark-packet chain=forward comment=80M_up connection-mark=80M-connection-up new-packet-mark=mark_80M_up passthrough=no
add action=mark-connection chain=forward comment=80M-connection-down connection-state=new dst-address-list=80M new-connection-mark=80M-connection-down
add action=mark-packet chain=forward comment=80M_down connection-mark=80M-connection-down new-packet-mark=mark_80M_down passthrough=no
add action=mark-connection chain=forward comment=100M-connection-up connection-state=new new-connection-mark=100M-connection-up src-address-list=100M
add action=mark-packet chain=forward comment=100M_up connection-mark=100M-connection-up new-packet-mark=mark_100M_up passthrough=no
add action=mark-connection chain=forward comment=100M-connection-down connection-state=new dst-address-list=100M new-connection-mark=100M-connection-down
add action=mark-packet chain=forward comment=100M_down connection-mark=100M-connection-down new-packet-mark=mark_100M_down passthrough=no

/queue type
set 0 kind=pcq
add kind=pcq name=pcq_5M_down pcq-classifier=dst-address pcq-dst-address6-mask=64 pcq-rate=5M pcq-src-address6-mask=64 pcq-total-limit=900k
add kind=pcq name=pcq_5M_up pcq-classifier=src-address pcq-dst-address6-mask=64 pcq-rate=5M pcq-src-address6-mask=64 pcq-total-limit=900k
add kind=pcq name=pcq_10M_down pcq-classifier=dst-address pcq-dst-address6-mask=64 pcq-limit=10k pcq-rate=10M pcq-src-address6-mask=64 pcq-total-limit=900k
add kind=pcq name=pcq_10M_up pcq-classifier=src-address pcq-dst-address6-mask=64 pcq-limit=10k pcq-rate=10M pcq-src-address6-mask=64 pcq-total-limit=900k
add kind=pcq name=pcq_15M_down pcq-classifier=dst-address pcq-dst-address6-mask=64 pcq-limit=10k pcq-rate=15M pcq-src-address6-mask=64 pcq-total-limit=900k
add kind=pcq name=pcq_15M_up pcq-classifier=src-address pcq-dst-address6-mask=64 pcq-limit=10k pcq-rate=15M pcq-src-address6-mask=64 pcq-total-limit=900k
add kind=pcq name=pcq_30M_down pcq-classifier=dst-address pcq-dst-address6-mask=64 pcq-limit=10k pcq-rate=30M pcq-src-address6-mask=64 pcq-total-limit=900k
add kind=pcq name=pcq_30M_up pcq-classifier=src-address pcq-dst-address6-mask=64 pcq-limit=10k pcq-rate=30M pcq-src-address6-mask=64 pcq-total-limit=900k
add kind=pcq name=pcq_20M_down pcq-classifier=dst-address pcq-dst-address6-mask=64 pcq-rate=20M pcq-src-address6-mask=64 pcq-total-limit=90k
add kind=pcq name=pcq_20M_up pcq-classifier=src-address pcq-dst-address6-mask=64 pcq-rate=20M pcq-src-address6-mask=64 pcq-total-limit=90k
add kind=pcq name=pcq_50M_down pcq-classifier=dst-address pcq-dst-address6-mask=64 pcq-limit=5k pcq-rate=50M pcq-src-address6-mask=64 pcq-total-limit=900k
add kind=pcq name=pcq_50M_up pcq-classifier=src-address pcq-dst-address6-mask=64 pcq-limit=5k pcq-rate=50M pcq-src-address6-mask=64 pcq-total-limit=900k
add kind=pcq name=pcq_80M_down pcq-classifier=dst-address pcq-dst-address6-mask=64 pcq-limit=5k pcq-rate=80M pcq-src-address6-mask=64 pcq-total-limit=100k
add kind=pcq name=pcq_80M_up pcq-classifier=src-address pcq-dst-address6-mask=64 pcq-limit=5k pcq-rate=80M pcq-src-address6-mask=64 pcq-total-limit=100k
add kind=pcq name=pcq_100M_down pcq-classifier=dst-address pcq-dst-address6-mask=64 pcq-limit=5k pcq-rate=100M pcq-src-address6-mask=64 pcq-total-limit=300k
add kind=pcq name=pcq_100M_up pcq-classifier=src-address pcq-dst-address6-mask=64 pcq-limit=5k pcq-rate=80M pcq-src-address6-mask=64 pcq-total-limit=512k
add kind=pcq name=pcq_40M_down pcq-classifier=dst-address pcq-dst-address6-mask=64 pcq-limit=10k pcq-rate=40M pcq-src-address6-mask=64 pcq-total-limit=900k
add kind=pcq name=pcq_40M_up pcq-classifier=src-address pcq-dst-address6-mask=64 pcq-limit=10k pcq-rate=40M pcq-src-address6-mask=64 pcq-total-limit=900k
add kind=pcq name=pcq_8M_up pcq-classifier=src-address pcq-dst-address6-mask=64 pcq-limit=10k pcq-rate=8M pcq-src-address6-mask=64 pcq-total-limit=900k
add kind=pcq name=pcq_8M_down pcq-classifier=dst-address pcq-dst-address6-mask=64 pcq-limit=10k pcq-rate=8M pcq-src-address6-mask=64 pcq-total-limit=900k
add kind=pcq name=pcq_25M_down pcq-classifier=dst-address pcq-dst-address6-mask=64 pcq-rate=25M pcq-src-address6-mask=64 pcq-total-limit=64k
add kind=pcq name=pcq_25M_up pcq-classifier=src-address pcq-dst-address6-mask=64 pcq-limit=10k pcq-rate=25M pcq-src-address6-mask=64 pcq-total-limit=900k

/queue tree
add name=Total_download parent=global priority=1 queue=pcq-download-default
add name=Total_upload parent=global priority=1 queue=pcq-upload-default
add name=queue_5M_down packet-mark=mark_5M_down parent=Total_download priority=2 queue=pcq_5M_down
add name=queue_5M_up packet-mark=mark_5M_up parent=Total_upload priority=2 queue=pcq_5M_up
add name=queue_10M_down packet-mark=mark_10M_down parent=Total_download priority=3 queue=pcq_10M_down
add name=queue_15M_down packet-mark=mark_15M_down parent=Total_download priority=4 queue=pcq_15M_down
add name=queue_30M_down packet-mark=mark_30M_down parent=Total_download priority=6 queue=pcq_30M_down
add name=queue_10M_up packet-mark=mark_10M_up parent=Total_upload priority=3 queue=pcq_10M_up
add name=queue_15M_up packet-mark=mark_15M_up parent=Total_upload priority=4 queue=pcq_15M_up
add name=queue_30M_up packet-mark=mark_30M_up parent=Total_upload priority=6 queue=pcq_30M_up
add name=queue_20M_down packet-mark=mark_20M_down parent=Total_download priority=5 queue=pcq_20M_down
add name=queue_20M_up packet-mark=mark_20M_up parent=Total_upload priority=5 queue=pcq_20M_up
add name=queue_50M_down packet-mark=mark_50M_down parent=Total_download priority=7 queue=pcq_50M_down
add name=queue_80M_down packet-mark=mark_80M_down parent=Total_download queue=pcq_80M_down
add name=queue_100M_down packet-mark=mark_100M_down parent=Total_download queue=pcq_100M_down
add name=queue_50M_up packet-mark=mark_50M_up parent=Total_upload priority=7 queue=pcq_50M_up
add name=queue_80M_up packet-mark=mark_80M_up parent=Total_upload queue=pcq_80M_up
add name=queue_100M_up packet-mark=mark_100M_up parent=Total_upload queue=pcq_100M_up
add name=queue_25M_down packet-mark=mark_25M_down parent=Total_download priority=5 queue=pcq_25M_down
add name=queue_8M_down packet-mark=mark_8M_down parent=Total_download priority=2 queue=pcq_25M_down
add name=queue_8M_up packet-mark=mark_8M_up parent=Total_upload priority=2 queue=pcq_8M_up
add name=queue_25M_up packet-mark=mark_25M_up parent=Total_upload priority=2 queue=pcq_25M_up
Edited by pegas2012
Link to post
Share on other sites

Как подсказывают из зала - это норма, привыкайте.

Много правил в фаерволе, сложный шейпер.

Link to post
Share on other sites

да NAT тоже есть а как без него, эти правила только скорость режут, может кто знает как иначе поступить, уменьшить количество правил

Link to post
Share on other sites

/tool> profile
NAME                    CPU        USAGE
pptp                    all           0%
ethernet                all           0%
console                 all           0%
flash                   all           0%
dns                     all         0.4%
firewall                all         9.4%
networking              all         2.9%
gre                     all           0%
winbox                  all           0%
mpls                    all           0%
management              all           0%
routing                 all           0%
idle                    all         0.1%
dhcp                    all           0%
profiling               all         0.4%
queuing                 all        85.9%
telnet                  all           0%
igmp-proxy              all           0%
bridging                all         0.2%
unclassified            all         0.1%
 

 

как видно грузит именно шейпер а не фаервол

Link to post
Share on other sites

Можно шейпер вообще не включать никому, пока не переберут какое-то количество трафика за месяц. Подобрать цифры так, чтобы 95%, а может даже 99% юзеров вообще без шейпера сидели и лишней нагрузки не будет.

Link to post
Share on other sites

А можно 2 микротика поставить, а лучше 3.

1 бордером, 1 шейпером, 1 натом.

Ви теперь адепт печальноизвестного Сааба? :)

Link to post
Share on other sites

 

 

А можно 2 микротика поставить, а лучше 3.

1 бордером, 1 шейпером, 1 натом.

Ви теперь адепт печальноизвестного Сааба? :)
Я его большой почитатель. Почитываю иногда))
Link to post
Share on other sites

 

 

А можно 2 микротика поставить, а лучше 3.

1 бордером, 1 шейпером, 1 натом.

Ви теперь адепт печальноизвестного Сааба? :)
Я его большой почитатель. Почитываю иногда))

 

посмеялся :)

а по сути дела - тут ещё один микротик не спасет ибо шейпер и так ложит в полку - я бы попробовал simple-queue, говорят ЦЦР под них "заточен", что-ле.

 

И да, ТС - тут есть замечетальные вещи, например 

тут можно писать код и когда его читаешь не хочется вырвать себе глаза...
Edited by L1ght
Link to post
Share on other sites

 

 

 

А можно 2 микротика поставить, а лучше 3.

1 бордером, 1 шейпером, 1 натом.

Ви теперь адепт печальноизвестного Сааба? :)
Я его большой почитатель. Почитываю иногда))

 

посмеялся :)

а по сути дела - тут ещё один микротик не спасет ибо шейпер и так ложит в полку - я бы попробовал simple-queue, говорят ЦЦР под них "заточен", что-ле.

 

И да, ТС - тут есть замечетальные вещи, например 

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

исправил, сори не часто пишу на форуме больше читаю

Link to post
Share on other sites

да ну ешкин дрын )) ну обсасывалось же уже...

 

У МИКРОВТЫКА QUEUE TREE - ОДНОПОТОЧНЫЙ !!!!!!!! , то есть он всегда при большом количестве юзеров\трафика валит проц на 100%

 

Сделай все на simple queue , там хоть 5000 правил создавай, ему пофиг. Ну или прямая дорога на линух\фряху

Link to post
Share on other sites

да ну ешкин дрын )) ну обсасывалось же уже...

 

У МИКРОВТЫКА QUEUE TREE - ОДНОПОТОЧНЫЙ !!!!!!!! , то есть он всегда при большом количестве юзеров\трафика валит проц на 100%

 

Сделай все на simple queue , там хоть 5000 правил создавай, ему пофиг. Ну или прямая дорога на линух\фряху

Спасибо буду пробовать, до этого на форуме не нашел ответа, как испытаю, отпишусь

Link to post
Share on other sites

да ну ешкин дрын )) ну обсасывалось же уже...

 

У МИКРОВТЫКА QUEUE TREE - ОДНОПОТОЧНЫЙ !!!!!!!! , то есть он всегда при большом количестве юзеров\трафика валит проц на 100%

 

Сделай все на simple queue , там хоть 5000 правил создавай, ему пофиг. Ну или прямая дорога на линух\фряху

а как быть с:

 

Simple queues (простые очереди) отсортированы – по аналогии с правилами фаервола. К примеру для того, чтобы добраться до 999-ой очереди, пакет должны быть проверен на соответствие всем 998-ми предыдущим очередям. Но если очередей не очень много, как пользователей, то это наиболее простое решение.

Simple Queues использовать при большом количестве пользователей – не эффективно – существенно возрастает нагрузка на процессор, погрешность шейпинга также возрастает. Также не возможен двойной QoS при использовании Simple Queues

 

получается противоречивая информация

Link to post
Share on other sites

queue tree с какой-то версии допилили.

Ну и да, simple queue для ccr более работоспособен. И да, на 1000+ simple queue, гиге+ трафа и нате вот такая загрузка

post-2267-0-23798300-1429554785_thumb.jpg

 

тарифов 5,15,20,50,100мбит

Link to post
Share on other sites

queue tree с какой-то версии допилили.

Ну и да, simple queue для ccr более работоспособен. И да, на 1000+ simple queue, гиге+ трафа и нате вот такая загрузка

attachicon.gifccr.jpg

 

тарифов 5,15,20,50,100мбит

очень интересно.

точно надо пробовать, правда работа гигантская должна быть проделана, чтобы всех на simple queue перевести, наверное проще скрипт написать. 

получается на каждого пользователя идет 1 simple queue или может вы как то иначе решаете?

Link to post
Share on other sites

 

queue tree с какой-то версии допилили.

Ну и да, simple queue для ccr более работоспособен. И да, на 1000+ simple queue, гиге+ трафа и нате вот такая загрузка

attachicon.gifccr.jpg

 

тарифов 5,15,20,50,100мбит

очень интересно.

точно надо пробовать, правда работа гигантская должна быть проделана, чтобы всех на simple queue перевести, наверное проще скрипт написать. 

получается на каждого пользователя идет 1 simple queue или может вы как то иначе решаете?

 

на каждого 1 simple queue. Генерит скрипт из под линуха на основе базы билинга.

 

точнее все прописывает автоматом тот самый скрипт

Edited by rsst
Link to post
Share on other sites

Если перейдешь на Simple queue - тебе не нужно будет маркировать пакеты, соответственно упадет загрузка от фаера )

ну или создать столько правил фаера, сколько тарифов х2 - и соответственно столько же simple queue  + заюзать pcq  - вот тебе и профит, и загрузка будет минимальная.

Link to post
Share on other sites

Перешел на simple queue, нагрузка упала,

добавил на микротик еще 400 абонентов, сейчас на нем более 1400 абонентов, прокачивает трафика больше 900 мегабита, при этом загрузка всего 24% в час пик.

 

Большое все спасибо за помощь, рекомендую все у кого схожая проблема убирать деревья и переходить на simple queue.

Link to post
Share on other sites

Перешел на simple queue, нагрузка упала,

добавил на микротик еще 400 абонентов, сейчас на нем более 1400 абонентов, прокачивает трафика больше 900 мегабита, при этом загрузка всего 24% в час пик.

 

Большое все спасибо за помощь, рекомендую все у кого схожая проблема убирать деревья и переходить на simple queue.

какая версия софта?

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
  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...