Мы каждый день считываем “базу настроек” приборов, чтобы отлеживать изменения. Раньше при открытии окна “База настроек устройства” я мог выбрать период и видеть базу настроек устройство за разные даты. Теперь-же он показывает только “последние” считанные настройки, а при попытке отобразить базу настроек за любой другой период сервер перестаёт отвечать.
От модели тепловычислителя это не зависит. Проблема встречается на всех наших приборах.
Сервер перестаёт отвечать спустя пару десятков секунд. Ошибка возникает даже на недавно подключённых приборах, где ещё не успело накопиться большое количество баз настроек.
Слева вверху в рабочем месте оператора нажмите на круглую кнопку. В появившемся меню выберите пункт Параметры. В появившемся окне Параметры на вкладке Подлючение щёлкните два раза левой кнопкой мыши на строке с Наименованием вашего сервера ЛЭРС УЧЁТ. Появится окно с параметрами подключения к серверу. В поле Таймаут запроса установите большее значение (например значение больше в 3 раза, чем установленное) и нажмите кнопку Обновить. Затем в окне Параметры нажмите кнопку ОК. Закройте рабочее место оператора и запустите его заново. Проверьте, возникает ли проблема при отображении настроечных параметров за большой интервал времени.
Попробуйте прописать значение параметра commandTimeout равное 120 (или более) в файле Lers.Server.xml. Описание как это сделать в статье Сервер ЛЭРС УЧЁТ Руководства пользователя ЛЭРС УЧЁТ.
Если база настроечных параметров необходима для отслеживания измения, тогда вы можете хранить только изменившиеся настройки. Для этого перейдите из меню Администрирования в Системные параметры. В разделе Обслуживание базы данных выберите вкладку Архивы прибора и установите галочку напротив Сохранять только изменившиеся настройки.
При увеличении Command Timeout сервера до 120 теперь эта же “Ошибка выполнения запроса - Истекло время ожидания ответа от базы данных. Увеличьте таймаут на ответ от сервера баз данных” возникает через 120 секунд.
Сейчас сотрудники с нашим сервером работают активно, я не могу его больше перезапускать сейчас для применения параметра таймаута, но я потом попробую его ещё увеличить. Пока-что динамику изменения параметров смотрю в системном журнале самого тепловычислителя, подключаясь к нему заводской программой.
А вам действительно требуется хранить все записи базы настроек приборов? Возможно, вам стоит сделать две вещи.
Как уже писал @korotkih, в системных параметрах отметьте “Сохранять только изменившиеся настройки”.
Но кроме того, в этой же строке ограничьте срок хранения базы настроек каким-либо разумным значением. Например, два или три месяца. После этого нужно будет подождать несколько дней пока система при еженочном обслуживании в 00:00 часов будет удалять устаревшие данные. Судя по всему, сервер БД не очень быстрый и данных много, так что за один раз вряд ли все значения успеют удалиться. Если хранить только изменённые настройки для вас неприемлемо, то ограничение срока хранения уже даст очень хороший результат.
Это позволит сильно ускорить запрос параметров базы настроек устройства.
Со своей стороны мы проверили, есть ли какие-то способы ускорить запросы к базе. Но пока мы не видим способов. Все нужные индексы в базе уже есть, так что сам по себе запрос выполняется на предельной для вашего компьютера скорости.
Понял, спасибо большое за совет. Я просто предположил, что это какая-то ошибка, а не просто медленная работа базы данных, так как раньше всё работало довольно быстро, а потом резко перестало работать вообще. Но раз у вас не получается воспроизвести эту проблему, значит скорее всего проблема действительно локальная и связана с нашей базой данных. Спасибо за ответ!
Всё, после ограничения хранения базы настроек до 3-ёх месяцев и указания хранить только изменившиеся настройки всё починилось и теперь отображает базы настроек за периоды. Возможно база данных настроек действительно просто переполнилась, так как у нас 500+ адресов настройки которых мы опрашивали каждый день и бессрочно хранили.