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

Тормозит изменение узлов тарифного дерева
http://forum.bitel.ru/viewtopic.php?f=22&t=5730
Страница 1 из 1

Автор:  Cromeshnic [ 21 июл 2011, 13:21 ]
Заголовок сообщения:  Тормозит изменение узлов тарифного дерева

Клиент довольно заметно подвисает при редактировании тарифного дерева.
Причем когда редактирую новый персональный тариф, то все летает довольно шустро.

Например, сегодня:
Есть глобальный тарифный план (базовый), от которого наследуются штук 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 проходят не сразу.

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

Автор:  Cromeshnic [ 21 июл 2011, 13:30 ]
Заголовок сообщения:  Re: Тормозит изменение узлов тарифного дерева

Как вариант, обновлять lm в фоне отдельным тредом.

Автор:  Администратор [ 02 ноя 2011, 15:53 ]
Заголовок сообщения:  Re: Тормозит изменение узлов тарифного дерева

Делаем.

Автор:  Администратор [ 02 ноя 2011, 18:55 ]
Заголовок сообщения:  Re: Тормозит изменение узлов тарифного дерева

Сделано для 5.1, обновление выложено. Теперь будет обновлять информацию в БД спустя 8 секунд после последней правки дерева. Если правки идут с интервалом менее 8 секунд - задание отложится дальше. Ну и в одном потоке всё.

Автор:  snark [ 02 ноя 2011, 20:03 ]
Заголовок сообщения:  Re: Тормозит изменение узлов тарифного дерева

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

Автор:  skyb [ 03 ноя 2011, 03:57 ]
Заголовок сообщения:  Re: Тормозит изменение узлов тарифного дерева

как для модуля инет в 5.2 - было бы неплохо

Автор:  Cromeshnic [ 03 ноя 2011, 06:23 ]
Заголовок сообщения:  Re: Тормозит изменение узлов тарифного дерева

Администратор писал(а):
Теперь будет обновлять информацию в БД спустя 8 секунд после последней правки дерева. Если правки идут с интервалом менее 8 секунд - задание отложится дальше. Ну и в одном потоке всё.

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

Автор:  Администратор [ 29 дек 2011, 13:01 ]
Заголовок сообщения:  Re: Тормозит изменение узлов тарифного дерева

Только lm. Вообще, для новых модулей там система с событиями. Постепенно переведём на неё.

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