Jump to content
Local
ronin_zp

Микротик. Динамический шейпер

Recommended Posts

Доброй ночи.

Пытаюсь настроит динамический шейпер, но он не отрабатывает. С помощью tcpdump выловил такое
/queue/simple/set id=*1E2.=  max-limit=11000k/11000k.=burst-limit=k/11000k.=  burst-threshold=8800k/8800k.=burst-time=0/0
trap(=message=failure: no download-burst-time  done.

Чего ему не хватает?
 

Edited by ronin_zp

Share this post


Link to post
Share on other sites
2 часа назад, ronin_zp сказал:

Доброй ночи.

Пытаюсь настроит динамический шейпер, но он не отрабатывает. С помощью tcpdump выловил такое
/queue/simple/set id=*1E2.=  max-limit=11000k/11000k.=burst-limit=k/11000k.=  burst-threshold=8800k/8800k.=burst-time=0/0
trap(=message=failure: no download-burst-time  done.

Чего ему не хватает?
 

Цитата

message=failure: no download-burst-time 

Видимо не хватает поля download-burst-time

Share this post


Link to post
Share on other sites

То, что этого поля не хватает - понятно. 

Непонятно куда его прописывать. Используются simple queues. Без динамического шейпера всё работает нормально. Динамический шейпер настраивается по официальной инструкции в которой есть только то, как добавить в крон. На серверах с rscriptd динамический шейпер работает без проблем. Где и что нужно добавить в биллинге чтобы динамический шейпер заработал и на микротике? 

Share this post


Link to post
Share on other sites

по всей вероятности надо просить бак фиксы у тех кто пилил это к микротам

вроде это бобер делал

 

я конечно ткну пальцем в небо - покажите скрин скорости тарифов

 

вестимо собака где-то тут порылась

github

Edited by l1ght

Share this post


Link to post
Share on other sites

мдя, код довольно таки грязный

'burst-time' => $eachlogin['burstimetupload'] . '/' . $eachlogin['bursttimedownload']


'max-limit' => $eachlogin['speedup'] . 'k/' . $eachlogin['speed'] . 'k',

'burst-limit' => $eachlogin['burstupload'] . 'k/' . $eachlogin['speed'] . 'k',

'burst-threshold' => ($eachlogin['speedup'] * 0.8) . 'k/' . ($eachlogin['speed'] * 0.8) . 'k',

'burst-time' => $eachlogin['burstimetupload'] . '/' . $eachlogin['bursttimedownload']

 

Share this post


Link to post
Share on other sites

>> мдя, код довольно таки грязный

Во-первых - никто не запрещает сделать чище.

Во-вторых - код частично основан на коде другого человека.

В третьих - возможно завтра будет время на проверить...

Edited by bobr-kun
  • Like 1

Share this post


Link to post
Share on other sites
38 минут назад, bobr-kun сказал:

Во-первых - никто не запрещает сделать чище.

ну я уже начал помогать обратив на это внимание :)

 

39 минут назад, bobr-kun сказал:

Во-вторых - код частично основан на коде другого человека.

 

ну это не повод мёрджить в мастер ветку без проверки
 

40 минут назад, bobr-kun сказал:

 В третьих - возможно завтра будет время на проверить...

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

Share this post


Link to post
Share on other sites

>> ну это не повод мёрджить в мастер ветку без проверки

Это с чего это оно вдруг стало без тестирования мерджится? С чего вы взяли? Аж неделю работало на RouterOS 6.41. Потом было отключено за ненадобностью, но вот в ближайшем будущем планируется "полномасштабное использование". Так что завтра постараюсь выкроить время перепроверить на 6.43.

Share this post


Link to post
Share on other sites
9 минут назад, bobr-kun сказал:

Аж неделю работало на RouterOS 6.41. Потом было отключено за ненадобностью, но вот в ближайшем будущем планируется "полномасштабное использование". Так что завтра постараюсь выкроить время перепроверить на 6.43.

не заработало на 6.40.4 и 6.42.6
 

 

9 минут назад, bobr-kun сказал:

Это с чего это оно вдруг стало без тестирования мерджится? С чего вы взяли?

  как минимум из за этого, поправьте если я ошибаюсь

'max-limit' => $eachlogin['speedup'] . 'k/' . $eachlogin['speed'] . 'k',

'burst-limit' => $eachlogin['burstupload'] . 'k/' . $eachlogin['speed'] . 'k',

'burst-threshold' => ($eachlogin['speedup'] * 0.8) . 'k/' . ($eachlogin['speed'] * 0.8) . 'k',

'burst-time' => $eachlogin['burstimetupload'] . '/' . $eachlogin['bursttimedownload']


первые три строки для download одна и та же переменная, хотя в правилах динамического шейпера скорость для даунлоад тоже меняется
и в последней строке явная опечатка - burstimetupload против bursttimedownload

 

 

P.S.: кстати, как оно себя поведёт при выключенном режиме BURST в alter.ini ?

 

Edited by ronin_zp

Share this post


Link to post
Share on other sites
8 минут назад, ronin_zp сказал:

не заработало на 6.40.4 и 6.42.6
 

 

  как минимум из за этого, поправьте если я ошибаюсь


'max-limit' => $eachlogin['speedup'] . 'k/' . $eachlogin['speed'] . 'k',

'burst-limit' => $eachlogin['burstupload'] . 'k/' . $eachlogin['speed'] . 'k',

'burst-threshold' => ($eachlogin['speedup'] * 0.8) . 'k/' . ($eachlogin['speed'] * 0.8) . 'k',

'burst-time' => $eachlogin['burstimetupload'] . '/' . $eachlogin['bursttimedownload']


первые три строки для download одна и та же переменная, хотя в правилах динамического шейпера скорость для даунлоад тоже меняется
и в последней строке явная опечатка - burstimetupload против bursttimedownload

 

 

P.S.: кстати, как оно себя поведёт при выключенном режиме BURST в alter.ini ?

 

я скриншота так и не увидел

Share this post


Link to post
Share on other sites

image.thumb.png.7ed223b2754691fc3b4f645490c0443f.png

 

Я просил скрин скорости тарифов

Должны быть заполнены соответствующие поля

Share this post


Link to post
Share on other sites

Ну так первый скриншот. Первые две колонки. Уж простите - но скриншотить всю тарифную сетку я не стал, по вполне понятным причинам.

Share this post


Link to post
Share on other sites

Я не просто так скриншот просил. Просто ваш так криво сделан, что я не сразу понял что это что я просил.

И раз вы уже код начали читать то почитайте внимательно где вы провтыкали.

Edited by l1ght

Share this post


Link to post
Share on other sites

вставлял я туда другие значения, ошибка остаётся по причине burstimetupload
локально у себя я поправить могу, но со следующим обновлением опять грабли вылезут
ладно, будет время перепишу код с исправлением и с учётом отключенной опции burst и закоммичу в репозиторий 

Share this post


Link to post
Share on other sites
3 часа назад, ronin_zp сказал:

ладно, будет время перепишу код с исправлением и с учётом отключенной опции burst и закоммичу в репозиторий 

с этим к Бобру - он теперь занимается микротиками и прочим порно

Share this post


Link to post
Share on other sites
18 часов назад, ronin_zp сказал:

и в последней строке явная опечатка - burstimetupload против bursttimedownload

нет, это не опечатка - это так исторически сложилось имя поля в БД

 

18 часов назад, ronin_zp сказал:

P.S.: кстати, как оно себя поведёт при выключенном режиме BURST в alter.ini ?

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

Share this post


Link to post
Share on other sites

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

log_register('MT_DN_SHAPER ' . $Action . ' done to `' . $UsersCnt . '` users');
die('OK:MT_DN_SHAPER');

я точно "выносил из froeach" - хорошо помню этот момент, когда фича работала только для одного абона, но исправно рапортовала, что для всех =). А в остальном все таки работает.

Вот с burst'ами - да, если их в тарифе не было предусмотрено - все разваливалось. Но эмпирическим путем я выяснил, что критичным для микрота является именно параметр burst-time - если он не установлен(пустой) - гембель. А вот к скоростям burst'ов таких жестких требований нет. Так что теперь мы учитываем это вот все и, если хотя бы один из четырех параметров burst'ов пуст - делаем изменения только для скорости download.

 

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

Share this post


Link to post
Share on other sites
18 часов назад, l1ght сказал:

image.thumb.png.7ed223b2754691fc3b4f645490c0443f.png

 

Я просил скрин скорости тарифов

Должны быть заполнены соответствующие поля

В демке почему "burst полей" как на скрине нет и создать не получается ?

Share this post


Link to post
Share on other sites
5 часов назад, sanyadnepr сказал:

В демке почему "burst полей" как на скрине нет и создать не получается ?

бурсты по дефолту отключены

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

  • Recently Browsing   0 members

    No registered users viewing this page.

  • Similar Content

    • By ddd_kr
      После перехода на PON продам БУ клиентские антенны:
      NanoBridge M5 22 - 1000 грн/шт
       
      На количестве цена ниже.
      Возможен вариант по безналичному расчёту.
       
    • By seller2019
      Після модернізаціїї мережі, продаємо залишки:
      1. Foxgate:
      - S-6008-S2L2 1шт - 600 грн.
      - S-6024-S2L2  2шт- 1000 грн
      - S6248-S4  Version: V1.00  2шт - 2500 грн
      - S6224-S2 Version: V1.00 7шт - 1300 грн
      - S6224 S4 Version R5.0 3шт - 1600 грн
      - S6224 S4 Version R1.0  5шт - 1400 грн
      - S6124-S2 Version R1.0  4шт- 1200 грн
       
      2. D-Link
      - DES-1210-28/ME  h/w ver. b2 (ver.: 6.02.019) 1шт - 2000 грн
      - DES-1210-28/ME  h/w ver. b2 (ver.:6.02.011)  2шт - 2000 грн
      - DES-1210-28/ME  h/w ver. b2 (ver.:6.00.018)  5шт - 2000 грн
      - DES-3526 h/w ver. a4 (ver.: 4.01.b19) -2шт - 1200 грн
      - DES-3200-26 h/w ver. с1 (ver. 4.04.004) 1шт - 1600 грн
      - DES-1228 h/w ver. b1(ver. 2.00.007) 5шт - 1300 грн
      - DES-1210-10/ME h/w ver. b1 ( ver. 6.02.11) - 5шт - 1000 грн
       
      3. TP-Link
      - TL-SG2452 ver.: 1.3 3шт - 3000 грн
      - TL-SG2424 ver.: 2.0 21шт - 1400 грн
      - TL-SG2424 ver.: 1.0 2шт - 1400 грн
      - TL-SG2424 ver.: 4.0 1шт  - 1400 грн
       
      4. EDGE-CORE
      - ES3510 1шт - 800 грн
      - Edge-corE ES3526XA 5шт (1шт без бп) НW Version: R01A2 - 800 грн
       
      5. Mikrotik
      - CRS125-24G-1S-RM 6шт ( 3шт без БЖ) - 3000 грн
       
      6. HUAWEI
      - Quidway s2326tp-ei  1шт - 8600 грн
       


    • By Gaver
      Здраствуйте. Продам.
      ePMP 1000 GPS Sync - 7000грн
      ePMP 1000 абонентский модуль без тарелки - 1800грн
      а также
      Mikrotik RB750P-PBr2 1200грн
      Mikrotik RB960PGS 2000грн





    • By Oleg2018
      При переносе биллинга на новый сервер сделал восстановоление базы строго по инструкции. Все данные получил. Пользователи работают. Но есть проблема, при создание копии базы через вебинтерфейс создается файл с размер 100 килобайт. База при переносе занимала 18 мегабайт. При проверке целосности базы нашел проблему из представлением op_customers выдает ошибку  #1449 - The user specified as a definer ('root'@'%') does not exist. Кто решал и как эту проблему
    • By VadimS7
      Есть задача настроить hotspot средствами routeros, что б был показ сайта 5-10 секунд, после - доступ в сеть. Есть идеи как реализовать?
×