Jump to content

ускорение инициализации абонов при запуске stg


Recommended Posts

годину тому, a_n_h сказав:

  как можно ускорить отработку OnConnect при старте/перезапуске старгейзера? 

Можно. Вопрос только в том, насколько вы ожидаете ускориться и что ожидаете, чтобы выполнялось в этом самом OnConnect. Лично я не вижу никаких препятствий.

 

spacer.png

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

Можно.

понятно...

7 часов назад, nightfly сказал:

Вопрос только в том, насколько вы ожидаете ускориться и что ожидаете

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

7 часов назад, nightfly сказал:

Лично я не вижу никаких препятствий.

не сомневаюсь.

Link to post
Share on other sites
4 часа назад, a_n_h сказав:

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

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

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

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

и все-же, как ускорить? проблема в онконект?

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

Ровно один вопрос - мы ж не о микротичном пхп онконнекте речь ведем?

конечно нет! Стандартная сборка - таз + фри.

Link to post
Share on other sites
14 часов назад, a_n_h сказав:

  как можно ускорить отработку OnConnect при старте/перезапуске старгейзера? 

/ib/mikrotik_2021.03.04.gif

Убрать из OnConnect то что его тормозит. Ваш кеп.

Link to post
Share on other sites
12 минут назад, madf сказав:

Убрать из OnConnect то что его тормозит. Ваш кеп.

Там тормозит все. Тоесть там нету ничего, что могло бы не тормозить. Оно за 13 лет не менялось. 

 

Попытаюсь на досуге переписать с технологиями из этого тысячелетия. С memcached/redis, нормальной актуализацией данных, вот этим вот всем.

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

Попытаюсь на досуге переписать с технологиями из этого тысячелетия. С memcached/redis, нормальной актуализацией данных, вот этим вот всем.

просьба в следующих релизах изменить размер очереди в пайпах, при скоростях 10 и более  мБит по "дефолту" очень маленькие, я сделал так, OnConnect:

#!/bin/sh

LOGIN=$1
IP=$2
CASH=$3
ID=$4
SPEED=`/etc/stargazer/GetSpeed $LOGIN`
UPSPEED=`/etc/stargazer/GetUpSpeed $LOGIN`
MAC=`/etc/stargazer/GetMac $LOGIN`
SCOUNT="Kbit/s"

fwcmd="/sbin/ipfw -q"
arpcmd="/usr/sbin/arp"

let QSIZE=$SPEED/80
let BSIZE=$SPEED/4
if [  `expr $QSIZE`  -gt 1024 ]; then
  QSIZE=1024
  BSIZE=20480
  fi

cur_date=`date \+\%Y.\%m.\%d`
cur_time=`date \+\%H:\%M:\%S`



# fix user mac to ip
${arpcmd} -S $IP $MAC

#SPEED CONTROL
#${fwcmd} pipe `expr $ID + 101` config bw $UPSPEED$SCOUNT queue 32Kbytes
#${fwcmd} pipe `expr $ID + 18101` config bw $SPEED$SCOUNT queue 32Kbytes
${fwcmd} pipe `expr $ID + 101` config bw $UPSPEED$SCOUNT queue 512Kbytes
${fwcmd} pipe `expr $ID + 18101` config bw $SPEED$SCOUNT queue $QSIZE$SCOUNT burst  $BSIZE$SCOUNT


# SHAPER
${fwcmd} table 3 add $IP `expr $ID + 101`
${fwcmd} table 4 add $IP `expr $ID + 18101`

${fwcmd} table 47 delete $IP


# DAY/NIGHT switcher
/bin/echo $SPEED:`expr $ID + 18101` > /etc/stargazer/dn/$LOGIN
/bin/chmod 777 /etc/stargazer/dn/$LOGIN


# ADD TO LOG
echo "$cur_date $cur_time CONNECT: ID-$ID;LOGIN-$LOGIN;IP-$IP;CASH-$CASH;SPEED-$SPEED;UPSPEED-$UPSPEED,MAC-$MAC" >> /var/stargazer/allconnect.log

и соответственно в динамическом шейпере, dnswitch.php:

function dshape_SwitchSpeed($speed, $mark, $speed_size = 'Kbit/s') {
//    $shape_command = '/sbin/ipfw -q pipe ' . trim($mark) . ' config bw ' . $speed . '' . $speed_size . ' queue 32Kbytes' . "\n";

    $QSIZE=(int)(($speed/2560)+1)*32;
    $BSIZE=(int)(($speed/160)+1)*32;
    if ($QSIZE>1024 ){
       $QSIZE=1024;
       $BSIZE=20480;
      }
    $QCOUNT='Kbytes'; 
    $shape_command='/sbin/ipfw -q pipe '.trim($mark).' config bw '.$speed.''.$speed_size.' queue '.$QSIZE.''.$QCOUNT.' burst '.$BSIZE.''.$QCOUNT.''."\n";

    shell_exec($shape_command);
}

 

Link to post
Share on other sites
В 12.11.2021 в 12:40, a_n_h сказав:

просьба в следующих релизах изменить размер очереди в пайпах, при скоростях 10 и более  мБит по "дефолту" очень маленькие, я сделал так, OnConnect:

Страх какой >.<

 

Можете тестировать: https://wiki.ubilling.net.ua/doku.php?id=lightninginit

 

У меня на всратом железе, на всратой виртуалке, получается что-то в районе 1 секунды на 100 юзеров и 10 секунд на подъем тестовой базы из 1к юзеров. Короче производительность линейная.

 

 

 

Edited by nightfly
  • Thanks 1
Link to post
Share on other sites
47 минут назад, nightfly сказал:

Страх какой >.<

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

Link to post
Share on other sites
25 минут назад, a_n_h сказав:

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

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

 

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

Edited by nightfly
Link to post
Share on other sites
25 минут назад, nightfly сказал:

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

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

процитирую:

"С давних времён длина очереди вычислялась скриптом. При современных тарифах скрипт всегда ставит queue 1024Kbytes. На скоростях от bw 30000Kbit/s до bw 300000Kbit/s работает, дропов минимум, задержка в пределах, жалоб на шейпер нет. Это максимальное значение, раньше были в тарифах мелкие скорости, там длина очереди была меньше чтобы не увеличивать сильно задержку."

 

Link to post
Share on other sites
12 минут назад, a_n_h сказав:

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

Хз. 128к для тарифов 300-500 мбит за глаза. Гигосы, могу пока не шейпить.

Склонен просто "взять и проверить" или "взять и сделать" вместо "не думая тащить какую-то некрофилию с нага 10-ти годичной давности".

Поэтому эта вся дрочь и ее смысл, от меня мягко говоря ускользают.

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

Хз. 128к для тарифов 300-500 мбит за глаза. Гигосы, могу пока не шейпить.

Склонен просто "взять и проверить" или "взять и сделать" вместо "не думая тащить какую-то некрофилию с нага 10-ти годичной давности".

Поэтому эта вся дрочь и ее смысл, от меня мягко говоря ускользают.

посмотри сколько стоит "из коробки", если не ошибаюсь - 32к.

Link to post
Share on other sites
3 минуты назад, a_n_h сказав:

посмотри сколько стоит "из коробки", если не ошибаюсь - 32к.

Посмотрел. Могу попросить, сделать то же самое: https://github.com/nightflyza/Ubilling/blob/master/docs/presets/FreeBSD/etc/stargazer/OnConnect :)

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

Посмотрел. Могу попросить, сделать то же самое: https://github.com/nightflyza/Ubilling/blob/master/docs/presets/FreeBSD/etc/stargazer/OnConnect :)

ок, уже увеличили, раньше было 32к...

Link to post
Share on other sites
  • 3 weeks later...

На NAS-е после установки "ускоренных" скриптов проблема, большинство абонов не работает, в 3-й и 4-й таблицах такого типа записи:

 

ipfw table 4 list

 

172.xx.xx.188/32 0

172.xx.xx.189/32 0

172.xx.xx.191/32 32211

172.xx.xx.192/32 0

172.xx.xx.193/32 32101

172.xx.xx.194/32 0

 

Link to post
Share on other sites

При изучении лога allconnect выяснил:

 

2021.12.05 11:47:29 CONNECT: ID-11.5;LOGIN-.....
2021.12.05 11:47:29 CONNECT: ID-459.1;LOGIN-.....
2021.12.05 11:47:34 CONNECT: ID-145.49;LOGIN-.....
2021.12.05 11:47:35 CONNECT: ID-135.8;LOGIN-.....
2021.12.05 11:47:35 CONNECT: ID-73.1;LOGIN-.....

 

а конкретно ID- с дробью.

Link to post
Share on other sites
годину тому, a_n_h сказав:

При изучении лога allconnect выяснил:

 

2021.12.05 11:47:29 CONNECT: ID-11.5;LOGIN-.....
2021.12.05 11:47:29 CONNECT: ID-459.1;LOGIN-.....
2021.12.05 11:47:34 CONNECT: ID-145.49;LOGIN-.....
2021.12.05 11:47:35 CONNECT: ID-135.8;LOGIN-.....
2021.12.05 11:47:35 CONNECT: ID-73.1;LOGIN-.....

 

а конкретно ID- с дробью.

А, да - совсем забыл, что у rscriptd, по-умолчанию параметры идут в другом порядке :)

 

Записывем:

 

LOGIN=$1

IP=$2

CASH=$4

ID=$3

 

 

 

  • Like 1
Link to post
Share on other sites
26 минут назад, nightfly сказал:

А, да - совсем забыл, что у rscriptd, по-умолчанию параметры идут в другом порядке :)

 

Записывем:

 

LOGIN=$1

IP=$2

CASH=$4

ID=$3

 

 

 

ок.

Link to post
Share on other sites
  • 2 weeks later...
В 05.12.2021 в 19:59, nightfly сказал:

А, да - совсем забыл, что у rscriptd, по-умолчанию параметры идут в другом порядке :)

 

Записывем:

 

LOGIN=$1

IP=$2

CASH=$4

ID=$3

 

здесь еще не исправили:

https://wiki.ubilling.net.ua/doku.php?id=lightninginit

 

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 a_n_h
      Всем доброго дня!
        После "переезда" на новый сервер не работает подсчет трафика у абонов, графики рисует исправно.
       
        softflowd запущен:
        nobody  26980    0.0  0.0   13488   3148  -  Is   05:40       0:00.00 /usr/local/bin/softflowd -i bridge0 -n 127.0.0.1:42111 -m 16000 -p /var/run/softflowd.br
       
        при проверке  tcpdump -i lo0 port 42111 - тишина...
       
        Подскажите, куда копать?
    • By a_n_h
      Доброго дня и с праздником!
         Как "формируется" ID пользователя для OnConnect OnDisconnect и проч. скриптов?
    • By a_n_h
      Всем доброго дня!
        Как перенести созданные в мастере отчетов отчеты на новый сервер?
       
      Нашел сам:
      /usr/local/www/apache24/data/billing/content/reports
    • By a_n_h
      Всем доброго дня и мирного неба!
        После последних событий выявилась "фича" билинга, при загузке сервака отморозки с положительным балансом не попадают в 47-ю таблицу... Как исправить запрос к БД, что-бы все замороженные тоже отключались:
       
      $data_q='SELECT `ip` FROM `users` WHERE `Cash`< -`Credit`';
       
    • By a_n_h
      Всем доброго дня, мирного неба  и бесперебойного энергоснабжения!
        Возникла необходимость временно отключить снятие абонплаты, как "правильно" это сделать?
×
×
  • Create New...