forum.bitel.ru
http://forum.bitel.ru/

проблемы с переобсчётом максимальных траффиков
http://forum.bitel.ru/viewtopic.php?f=5&t=4803
Страница 1 из 1

Автор:  ok-2004 [ 17 ноя 2010, 22:44 ]
Заголовок сообщения:  проблемы с переобсчётом максимальных траффиков

Есть тарифный план с зонами, переход во вторую зону когда размер максимального траффика превысит определённое значение.
-В отчете по наработке клиента ( который как я понял берётся из log_session ) это значение не превышено и сессий - 53 ( что и совпадает с числом записей в log_session)
- Но переход во вторую зону состоялся. Мне кажется ,что сравнение со значением траффика в первой зоне берётся из числа , получаемого суммированием поля ammount с sid=(услуге максимальных траффиков), и там это значение уже больше значения траффика в первой зоне. И записей в этои таблице больше ( 129 ) .

Причём клиенту атрибуты из второй зоны начали выдаваться с того времени(dtime), когда
summ(amount) from session_detail_mid_201011 where cid="id договора клиента" and sid="код услуги макс.траффика" превысил значение траффика в первой зоне.

Клиент же видет в личке репорт на основе таблицы log_session и тихо хренеет.

Вопрос: почему переход из зоны в зону переходит на основе session_detail а наработка по тарифу - из log_session ?

Автор:  ok-2004 [ 18 ноя 2010, 15:37 ]
Заголовок сообщения:  Re: проблемы с переобсчётом максимальных траффиков

Итак, апая тему немного конкретизирую.
Дано:
18 - входящий тр.
19 - исходящий тр.

конфиг модуля vpn:

traffics=18/19;Входящ/Исходящ
max.traffic.20=18,19

в редакторе модулей и услуг:

18 vpn_inet_in
19 vpn_inet_out
20 vpn_max

У клиента вот такой тариф:

В отчете по трафикам в личке клиента стоят цифры: входящ/исход: 5678.23 / 8199.31
Но скорость клиенту начала резаться с 15 числа на 256k. Клиент есс-но негодуе...

Начинаем ковырять....

1. select sum(input_octets) from log_session_4_201011 where login_name="terpila" and session_start >= "2010-11-01 00:00:00" AND session_stop <= "2010-11-15 23:59:00"

Получаем 5821169669 ( логично)

2. select sum(output_octets) from log_session_4_201011 where login_name="terpila" and session_start >= "2010-11-01 00:00:00" AND session_stop <= "2010-11-15 23:59:00"

Получаем 8540755997 ( опять логично )

3. select sum(amount) from session_detail_4_201011 where cid="4780" and sid="18" and dtime >= "2010-11-01 00:00:00" and dtime <= "2010-11-15 23:59:00"

Получаем 5821169669 ( ок)

4. select sum(amount) from session_detail_4_201011 where cid="4780" and sid="19" and dtime >= "2010-11-01 00:00:00" and dtime <= "2010-11-15 23:59:00"

Получаем 8540755997 ( ok-ok )

5. select sum(amount) from session_detail_4_201011 where cid="4780" and sid="20" and dtime >= "2010-11-01 00:00:00" and dtime <= "2010-11-15 23:59:00"

Получаем 10525259771 - с одной стороны всё логично , цифра берётся из максимальных значений в столбцах c sid 18 ,19 но
число больше значения в тарифе в 1 зоне!!! Клиент уходит во вторую зону и начинается вброс г. в вентилятор саппорту.

Чо делать, где я дурак ?

В довесок ещё один select:
select session_id,sid,dtime,amount from session_detail_4_201011 where cid="4780" and sid in (18,19,20) and dtime >= "2010-11-01 00:00:00" and dtime <= "2010-11-15 23:59:00"

Кое-где ( не везде а кое-где )весьма странная логика вычисления 20-ой услуги:
(приведён тока фрагмент)

Код:
session_id sid dtime amount
5837          18      2010-11-01   23:00:00   16 966 598      
5837          19      2010-11-01   23:00:00   17 855 774      
5837          20      2010-11-01   23:00:00   17 855 774 <- здесь все ок
.....
5837          18      2010-11-02   00:00:00   762 599         
5837          19      2010-11-02   00:00:00   488 161         
5837          20      2010-11-02   00:00:00   488 161 <- помоему д.б. 762...
.......
18531   18      2010-11-04   11:00:00   31 499 132      
18531   19      2010-11-04   11:00:00   26 256 642      
18531   20      2010-11-04   11:00:00   31 430 975 <- близко к истине . но отличается копейками
...........
18531   18      2010-11-04   12:00:00   6 353 951      
18531   19      2010-11-04   12:00:00   44 919 573      
18531   20      2010-11-04   12:00:00   39 745 240 <- результат какойто сложной мат.операции
....................
18531   18      2010-11-04   13:00:00   8 299 900      
18531   19      2010-11-04   13:00:00   67 322 507      
18531   20      2010-11-04   13:00:00   67 322 507 <- здесь все ок      


Кто же не прав: мои /dev/{mind;hands} ? java ? kernel 2.6.26 ? cpu ?...

Откровение свыше дало совет - услугу time поставить 0.0 за 1 мин,(а не за час) насколько оно право ?

Вложения:
tarif.png
tarif.png [ 18.99 КБ | Просмотров: 4039 ]

Автор:  jack7 [ 18 ноя 2010, 23:26 ]
Заголовок сообщения:  Re: проблемы с переобсчётом максимальных траффиков

у нас в тарифных планах время входит в мультиуслугу, в которой остальные услуги являются трафиковыми, где стоимость 0 руб за 1 Мб :D

ps
максимальные трафики не используем

Автор:  ok-2004 [ 19 ноя 2010, 10:46 ]
Заголовок сообщения:  Re: проблемы с переобсчётом максимальных траффиков

а мы используем в пере десятках тарифных планов
Самое плохое - дефект плавающий., случайный и непостоянный.
Но он есть. Переход в зону с ограничением скорости - на основе session-detail, а тарификация - на основе log_session

Это бага, или скрытая для моего разума фича ??? Если фича - то это плохая фича...

Автор:  jack7 [ 19 ноя 2010, 11:12 ]
Заголовок сообщения:  Re: проблемы с переобсчётом максимальных траффиков

ok-2004, какой у Вас номер версии и сборки биллинга?

Автор:  ok-2004 [ 19 ноя 2010, 12:24 ]
Заголовок сообщения:  Re: проблемы с переобсчётом максимальных траффиков

5.0-771 (server)
5.0-243 ( dialup)

Автор:  jack7 [ 19 ноя 2010, 17:34 ]
Заголовок сообщения:  Re: проблемы с переобсчётом максимальных траффиков

у меня
5.0-770 (server)
5.0-243 ( dialup)

максимальный трафик получается по входящему и исходящему, мы его в тарифных планах не используем, но для отчетов в конфиге есть

проверил выборками за несколько месяцев - все сходится в пределах мегабайт (в моем случае входящий всегда больше и его значение равно макимальному)
использовал такую выборку для 2 услуг (sid=3 и sid=23)
Код:
select sum(amount) from session_detail_2_200910 where cid=39 and sid=23 and dtime >= "2009-10-01 00:00:00" and dtime <= "2009-10-30 23:59:00"


Общая выборка
Код:
select session_id,sid,dtime,amount from session_detail_2_201011 where cid=39 and sid in (3,23) and dtime >= "2010-11-01 00:00:00" and dtime <= "2010-11-15 23:59:00" limit 10


ответ
Цитата:
33845;23;2010-11-02 15:00:00;1070693
33845;3;2010-11-02 15:00:00;1070693
34078;3;2010-11-02 15:00:00;7063899
34078;23;2010-11-02 15:00:00;7063899
34333;3;2010-11-02 16:00:00;14087
34333;23;2010-11-02 16:00:00;14087
35032;3;2010-11-02 16:00:00;9827
35032;23;2010-11-02 16:00:00;9827
40513;3;2010-11-02 19:00:00;1292
40513;23;2010-11-02 19:00:00;1292

Автор:  ok-2004 [ 19 ноя 2010, 19:48 ]
Заголовок сообщения:  Re: проблемы с переобсчётом максимальных траффиков

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

Но больше меня интересует - с чем сравнивается пороговое значение траффика в зонах, пришлось запустить тестовую машинку с БЖБ и трэйсить все запросы в базу, на предмет тырканья таблицы session_detail...

Страница 1 из 1 Часовой пояс: UTC + 5 часов [ Летнее время ]
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/