Mikrotik в качестве NAS && КЛАССЫ ТРАФИКА
После некоторой оптимизации и тестирования выяснил что время выполнения 100 добавлений удалений юзера занимает уже 2 минуты, из них 1 минуту забирает выполнение самого скрипта и 1 минуту выполнение команда на NAS. При этом загрузка процессоров как там так и тут не поднимается выше 30%.
2 минуты на переключение 100 пользователей это нормально??? или все же много. Следует еще учесть что в реальных условиях когда Linkupdown будет запускаться из других скриптов время это увеличится не меньше чем на 1 минуту.
2 минуты на переключение 100 пользователей это нормально??? или все же много. Следует еще учесть что в реальных условиях когда Linkupdown будет запускаться из других скриптов время это увеличится не меньше чем на 1 минуту.
ни каких пересчётов скорости (хоття я слабо понял что ты имел ввиду) не производится... да и зачем???RA81 писал(а):вроде бы дописал. вроде бы работает все. Но возник вопрос. В биллинге вообще как нибудь производится пересчет скорости пользователей при работе через чистый ипн??? пока что то не заметил. Интервал временной сменился а скорость не переключилась. Копаю сорсы. Кто знает подскажите.
Ну суть проста. На тарифе 2 временных интервала день/ночь. Днем одна скорость ночью другая. Во время перехода пользователя из одно временного интервала в другой по идее должны меняться параметры шейпирования. То есть скорость выделяемая пользователю должна изменяться соответственно временным интервалам заданным в тарифе. Но этого как я заметил не происходит, а вообще покопавшись сегодня в коде не нашел даже близко ничего связанного с этим. Опять же замечу что использую чистый ИПН. Доступ открывается через кнопочку в вебинтерфейсе.ran писал(а):ни каких пересчётов скорости (хоття я слабо понял что ты имел ввиду) не производится... да и зачем???RA81 писал(а):вроде бы дописал. вроде бы работает все. Но возник вопрос. В биллинге вообще как нибудь производится пересчет скорости пользователей при работе через чистый ипн??? пока что то не заметил. Интервал временной сменился а скорость не переключилась. Копаю сорсы. Кто знает подскажите.
Я в сторону встроенных возможностей даже не смотрел т.к. они предполагали временный разрыв соединения допустим в полночь только для смены скорости, что с большим кол-вом пользователей в онлайн очень плохо масштабируется. Поэтому интервал у меня один - круглосуточный - а скорость в нужный момент меняется внешними средствами.То есть скорость выделяемая пользователю должна изменяться соответственно временным интервалам заданным в тарифе. Но этого как я заметил не происходит,
-
- Сообщения: 54
- Зарегистрирован: Ср фев 20, 2008 12:17 pm
- Контактная информация:
Да, с временными интервалами как минимум в бесплатной версии полный швах... Мне тут недавно надо было сделать ночной тариф, т.е. чтобы работал только с 00:00 до 8:00. Завел один интервал с указанными временем. Пускать в неправильное время не пускало, но вот если человек зашел, то его в 8 утра не скидывало. Пришлось billd допиливать ^__^chtito2 писал(а):Я в сторону встроенных возможностей даже не смотрел т.к. они предполагали временный разрыв соединения допустим в полночь только для смены скорости, что с большим кол-вом пользователей в онлайн очень плохо масштабируется. Поэтому интервал у меня один - круглосуточный - а скорость в нужный момент меняется внешними средствами.То есть скорость выделяемая пользователю должна изменяться соответственно временным интервалам заданным в тарифе. Но этого как я заметил не происходит,
Ну может быть поделимся с сообществом допилкой?Ck-NoSFeRaTU писал(а): Да, с временными интервалами как минимум в бесплатной версии полный швах... Мне тут недавно надо было сделать ночной тариф, т.е. чтобы работал только с 00:00 до 8:00. Завел один интервал с указанными временем. Пускать в неправильное время не пускало, но вот если человек зашел, то его в 8 утра не скидывало. Пришлось billd допиливать ^__^


ЗЫ: Кстати у тебя же тоже только ипн без ВПН??? или все же ВПН присуЦтвует?
Кстати проблему локализовал. Из за того что впн не задействован то в billd производится проверка на alive от NAS в функции check_lines, и если энное количество элайвов не получено от нас тогда юзера скидывает с линии.
замечание...параметр -all при запуске billd вообще не имеет никакой важной роли. его можно не писать. Опять же billd должен писаться как build
как и обещал вот коды того что я наваял. Внутри патчи на коды биллинга и сам файл отвечающий за шейпер mikrotik. Так же приведены правки config.pl. Для того что бы все работало нужно создать ssh сертификат для пользователя от имени которого будет управляться микротик. Это описано в викки. Нужно так же создать правила мангл 2 штуки которые будут заворачивать траффик с нужного вам интерфейса в две очереди...inet_in_chain и inet_out_chain и разместить их в самом верху. путнее описалово не написал ибо еще правлю коды. Задавайте вопросы отвечу.
http://megahost.ifolder.ru/6854055
http://megahost.ifolder.ru/6854055
-
- Сообщения: 54
- Зарегистрирован: Ср фев 20, 2008 12:17 pm
- Контактная информация:
Ну, как будет время смерджить свой форк с последней оффициальной с cvs, то постараюсь оформить в виде диффов. ^__^RA81 писал(а):Ну может быть поделимся с сообществом допилкой?. У меня ситуация другая....после billd юзера скидывает с лини вобще. Не зависимо ни от времени ни от чего
У меня в основном pppoe, но есть и pptp/openvpn. Чистый IPN не использую, из-за того что умных свитчей в локалках откуда ползут юзеры не используется. Тут кстати я тоже правил IPN, а то он орал благим матом на предмет захода в юзерский интерфейс с нетого ип, который выдал биллинг.RA81 писал(а):ЗЫ: Кстати у тебя же тоже только ипн без ВПН??? или все же ВПН присуЦтвует?
А с чего ты решил, что это не к примеру bill daemon какой-нить? ^__^RA81 писал(а):замечание...параметр -all при запуске billd вообще не имеет никакой важной роли. его можно не писать. Опять же billd должен писаться как build[/color]
Ну если это демон тогда я ксения собчак ^__^Ck-NoSFeRaTU писал(а):А с чего ты решил, что это не к примеру bill daemon какой-нить? ^__^RA81 писал(а):замечание...параметр -all при запуске billd вообще не имеет никакой важной роли. его можно не писать. Опять же billd должен писаться как build[/color]
в коде следует заменить
на
иначе юзер не будет отрубаться по отрицательному балансу.
ЗЫ: некоторые решения асмодеуса по части программирования кажутся мне по крайней мере странными.
Код: Выделить всё
POSTPAID => $user->{PAYMENT_TYPE},
Код: Выделить всё
POSTPAID => 1,
ЗЫ: некоторые решения асмодеуса по части программирования кажутся мне по крайней мере странными.
Прошу обратить Асмодеуса внимание
В модуле traffic2sql в процедуре processing есть следующая строка кода
далее переменная $session_id получает значение undef поскольку хеш $sessions_ids не содержит значений.
В результате мы имеем то что сессия юзера не сбрасывается после отрицательного баланса, в то время как на NAS правила удаляются.
Данная ситуация получается из за включенного
если отключить все впорядке.
В модуле traffic2sql в процедуре processing есть следующая строка кода
Код: Выделить всё
my $session_id = $session_ids->{$ip};
В результате мы имеем то что сессия юзера не сбрасывается после отрицательного баланса, в то время как на NAS правила удаляются.
Данная ситуация получается из за включенного
Код: Выделить всё
$conf{IPN_STATIC_IP}=1;
-
- Site Admin
- Сообщения: 5749
- Зарегистрирован: Пт янв 28, 2005 3:11 pm
- Контактная информация:
большое пожалуйста.... как говорилось в одном замечательном фильме - а если мне будет приятно, то я тебя ТАК довезу. (былаб еще эта чудодокументация мифическая....эх)~AsmodeuS~ писал(а):поправил
теперь передаются значение session_id для тех кто в онлайн таблице и сразу исправлена бага обработки стопа для тех кто не в онлайн таблице.
большое спасибо
-
- Site Admin
- Сообщения: 5749
- Зарегистрирован: Пт янв 28, 2005 3:11 pm
- Контактная информация: