Страница 1 из 1

Репликация данных

СообщениеДобавлено: Ср окт 23, 2013 3:54 pm
ipartemk
Здравствуйте,
при работе несколько-клиентов -> один-удаленный-сервер-БД на клиентах сильно тормозит работа программы при чтении данных с сервера. Особенно фильтры, поиск, и даже обычный скроллинг по каталогу.
ПереИндексацию с помощью команды обновление структуры данных делаем, но помогает не сильно.

Как варианты решения сложишейся ситуации вижу
1) делать реплики БД на каждый клиент, и раз в день все изменения клиентов сливать на мастер.
2) делать реплики БД на каждый клиент, использовать их только для чтения/выборок, запись производить только на мастере

1-й вариант очень сложный в реализации, т.к. увязать созданные индексы будет тяжело, учитывая структуру БД Дебет+
2-й вариант подходящий, но реализовать без помощи разработчиков программы не получится. Собственно вопрос, можно ли в настройках указать, что бы запросы чтения производились из одной БД, а запись с другой?

Может предложите свой вариант решения проблемы.

Re: Репликация данных

СообщениеДобавлено: Ср окт 23, 2013 4:54 pm
vlad
Какую базу данных вы используете?
Какая версия программы?
Какая операционная система?
В каком конкретно списке "тормозит"? (Ответ "во всех" не подходит)
Попробуйте установить программу на компьютере, выступающем сервером базы данных
и зайти на нем в тот же список. На сколько отличаются результаты?
Желательно привести результаты измерений в секундах.

Re: Репликация данных

СообщениеДобавлено: Пн окт 28, 2013 7:11 pm
ipartemk
vlad писал(а):Какую базу данных вы используете?
Какая версия программы?
Какая операционная система?
В каком конкретно списке "тормозит"? (Ответ "во всех" не подходит)
Попробуйте установить программу на компьютере, выступающем сервером базы данных
и зайти на нем в тот же список. На сколько отличаются результаты?
Желательно привести результаты измерений в секундах.


1) mysql
2) последняя 12.0.84
3) debian - server, ubuntu - clients
4) номенклатура, причем товаров сейчас там не много. Фильтрация (иконка бинокль) вообще страшно подвисает.
5) если использовать локально БД на клиентах, то все летает. На сервере установить нет возможности , т.к. железяка в германии, и есть доступ только по консоли.

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

Re: Репликация данных

СообщениеДобавлено: Чт ноя 28, 2013 9:36 am
ipartemk
вопрос все еще актуален.
Может есть в Дебет + кеширование какое-нибудь? Настроить его

Re: Репликация данных

СообщениеДобавлено: Вс дек 15, 2013 7:54 pm
ipartemk
начал дебажить проблему, поставил логгер запросов к базе,
обнаружил, что при работе с номенклатурой выполняется огромное количество таких запросов
1601 Query select * from mtr_cl_edi WHERE FCOD = 0
1601 Query select * from mtr_cl_edi WHERE FCOD = 0
....

я так понял по количеству записей в разделе номенклатура.
Теперь понятно почему с ней не возможно удаленно работать. Сам запрос легкий, и возвращает ничего, но такое количество, естесственно начинает оттормаживать систему, т.к. пинг с сервером больше чем с локальной машиногй.

Как заставить систему не спамить одинаковыми запросами сервер? Пусть один раз заберет данные из таблицы в память, и переспрашивает сервак например раз в 5 минут.
Или подскажите в каком файле это поправить, я сам напишу.

Re: Репликация данных

СообщениеДобавлено: Пт янв 13, 2017 10:29 pm
ipartemk
up