Перейти до

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


Рекомендованные сообщения

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

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

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

 

spacer.png

Ссылка на сообщение
Поделиться на других сайтах
7 часов назад, nightfly сказал:

Можно.

понятно...

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

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

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

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

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

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

Ссылка на сообщение
Поделиться на других сайтах
4 часа назад, a_n_h сказав:

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

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

Ссылка на сообщение
Поделиться на других сайтах
27 минут назад, nightfly сказал:

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

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

Ссылка на сообщение
Поделиться на других сайтах
4 минуты назад, nightfly сказал:

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

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

Ссылка на сообщение
Поделиться на других сайтах
14 часов назад, a_n_h сказав:

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

/ib/mikrotik_2021.03.04.gif

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

Ссылка на сообщение
Поделиться на других сайтах
12 минут назад, madf сказав:

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

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

 

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

Ссылка на сообщение
Поделиться на других сайтах
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);
}

 

Ссылка на сообщение
Поделиться на других сайтах
В 12.11.2021 в 12:40, a_n_h сказав:

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

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

 

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

 

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

 

 

 

Відредаговано nightfly
  • Thanks 1
Ссылка на сообщение
Поделиться на других сайтах
47 минут назад, nightfly сказал:

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

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

Ссылка на сообщение
Поделиться на других сайтах
25 минут назад, a_n_h сказав:

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

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

 

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

Відредаговано nightfly
Ссылка на сообщение
Поделиться на других сайтах
25 минут назад, nightfly сказал:

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

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

процитирую:

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

 

Ссылка на сообщение
Поделиться на других сайтах
12 минут назад, a_n_h сказав:

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

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

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

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

Ссылка на сообщение
Поделиться на других сайтах
1 минуту назад, nightfly сказал:

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

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

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

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

Ссылка на сообщение
Поделиться на других сайтах
3 минуты назад, a_n_h сказав:

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

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

Ссылка на сообщение
Поделиться на других сайтах
1 минуту назад, nightfly сказал:

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

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

Ссылка на сообщение
Поделиться на других сайтах
  • 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

 

Ссылка на сообщение
Поделиться на других сайтах

При изучении лога 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- с дробью.

Ссылка на сообщение
Поделиться на других сайтах
годину тому, 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
Ссылка на сообщение
Поделиться на других сайтах
26 минут назад, nightfly сказал:

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

 

Записывем:

 

LOGIN=$1

IP=$2

CASH=$4

ID=$3

 

 

 

ок.

Ссылка на сообщение
Поделиться на других сайтах
  • 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

 

Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите в него для комментирования

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

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Вхід

Уже зарегистрированы? Войдите здесь.

Войти сейчас
  • Зараз на сторінці   0 користувачів

    Немає користувачів, що переглядають цю сторінку.

  • Схожий контент

    • Від 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 - тишина...
       
        Подскажите, куда копать?
    • Від a_n_h
      Доброго дня и с праздником!
         Как "формируется" ID пользователя для OnConnect OnDisconnect и проч. скриптов?
    • Від a_n_h
      Всем доброго дня!
        Как перенести созданные в мастере отчетов отчеты на новый сервер?
       
      Нашел сам:
      /usr/local/www/apache24/data/billing/content/reports
    • Від a_n_h
      Всем доброго дня и мирного неба!
        После последних событий выявилась "фича" билинга, при загузке сервака отморозки с положительным балансом не попадают в 47-ю таблицу... Как исправить запрос к БД, что-бы все замороженные тоже отключались:
       
      $data_q='SELECT `ip` FROM `users` WHERE `Cash`< -`Credit`';
       
    • Від a_n_h
      Всем доброго дня, мирного неба  и бесперебойного энергоснабжения!
        Возникла необходимость временно отключить снятие абонплаты, как "правильно" это сделать?
×
×
  • Створити нове...