BiTel

Форум BiTel
bgbilling.ru     docs.bitel.ru     wiki.bitel.ru     dbinfo.bitel.ru     bgcrm.ru     billing.bitel.ru     bitel.ru    
Текущее время: 02 май 2024, 16:15

Часовой пояс: UTC + 5 часов [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 8 ] 
Автор Сообщение
СообщениеДобавлено: 21 июл 2011, 13:21 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 20 апр 2009, 12:03
Сообщения: 3092
Откуда: Иркутск
Карма: 338
Клиент довольно заметно подвисает при редактировании тарифного дерева.
Причем когда редактирую новый персональный тариф, то все летает довольно шустро.

Например, сегодня:
Есть глобальный тарифный план (базовый), от которого наследуются штук 15 других глобальных тарифных планов. Завел в базовом тарифе модульную ветку, которой там раньше не было. Добавляю узлы. При каждом действии : добавление, удаление, редактирование узлов клиент подвисает секунд на 10.
Порылся в коде, добавил индекс по parent_tree в module_tariff_tree - не помогло.
Смотрю в innotop во время подвисания - появляются записи:
Код:
UPDATE module_tariff_tree SET lm=1311231645625 WHERE id=12698

Ясно, что долго выполняется TariffTreeBuilder.updateMTreeModifTime(...)

...
Короче, пока писал, понял, в чем скорее всего беда:
TariffTreeBuilder.updateMTreeModifTime(...) обновляет lm для всех модульных веток дочерних тарифов, а не только для переданного mid.
Там присутствует dialup, на который постоянно есть нагрузка, видимо поэтому даже простые update-запросы по id проходят не сразу.

Разработчики, можете пофиксить? А то совсем печально пол дня редактировать тарифы.
Возможно я ошибаюсь, и проблема не в этом или не только в этом. Если так, доступ у вас должен быть.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 21 июл 2011, 13:30 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 20 апр 2009, 12:03
Сообщения: 3092
Откуда: Иркутск
Карма: 338
Как вариант, обновлять lm в фоне отдельным тредом.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 02 ноя 2011, 15:53 
Не в сети
Разработчик

Зарегистрирован: 27 ноя 2006, 20:36
Сообщения: 5715
Карма: 93
Делаем.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 02 ноя 2011, 18:55 
Не в сети
Разработчик

Зарегистрирован: 27 ноя 2006, 20:36
Сообщения: 5715
Карма: 93
Сделано для 5.1, обновление выложено. Теперь будет обновлять информацию в БД спустя 8 секунд после последней правки дерева. Если правки идут с интервалом менее 8 секунд - задание отложится дальше. Ну и в одном потоке всё.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 02 ноя 2011, 20:03 
Не в сети
Клиент

Зарегистрирован: 12 фев 2008, 18:10
Сообщения: 3951
Карма: 249
А нельзя сделать кнопку "Сохранить"? Чтобы изменения в дереве тарифов попадали в БД только после того как ее нажмешь, т.е. подтвердишь что дерево тарифа создано и готово к использованию, а то получается что пока правишь юзер может подключится и получить недостроенное дерево или дерево с ошибками или ... короче - чтобы можно было сказать "все, я закончил править, да будет так!" либо не нажимая кнопку отменить все сделанные изменения (передумал или еще что).


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 03 ноя 2011, 03:57 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 03 авг 2009, 18:42
Сообщения: 7166
Откуда: Благовещенск
Карма: 241
как для модуля инет в 5.2 - было бы неплохо

_________________
Код:
  Клиент: вер. 6.2.714 / 25.05.2015 17:27:15
    os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_45
  Сервер: вер. 6.2.881 / 22.05.2015 17:56:55
    os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_45
Помощь по администрированию bgbilling в jabber конференции или Группа в telegram
Стиль программирования - пьяный мастерстер
Разработка мобильных приложений


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 03 ноя 2011, 06:23 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 20 апр 2009, 12:03
Сообщения: 3092
Откуда: Иркутск
Карма: 338
Администратор писал(а):
Теперь будет обновлять информацию в БД спустя 8 секунд после последней правки дерева. Если правки идут с интервалом менее 8 секунд - задание отложится дальше. Ну и в одном потоке всё.

О, круто, спасибо. "Информация в БД" - это только lm или все вообще? Сами узлы сразу создаются?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 29 дек 2011, 13:01 
Не в сети
Разработчик

Зарегистрирован: 27 ноя 2006, 20:36
Сообщения: 5715
Карма: 93
Только lm. Вообще, для новых модулей там система с событиями. Постепенно переведём на неё.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 8 ] 

Часовой пояс: UTC + 5 часов [ Летнее время ]


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


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

Найти:
Перейти:  
cron
POWERED_BY
Русская поддержка phpBB
[ Time : 0.055s | 32 Queries | GZIP : On ]