Развернули новый сервер 1С с отдельным сервером MSSQL, столкнулись с такой проблемой:
При первом обращении к справочникам и разделам, например:
• «Физические лица»
• «Сотрудники»
• «Номенклатура»
— отклик до открытия занимает около минуты.
При повторном открытии этих же разделов отклик практически мгновенный.
После перезапуска клиента 1С ситуация повторяется — первый доступ снова долгий.
Среда:
• 1С:Предприятие: 8.3.27.1719
• Конфигурация: ERP 3.2.8.11
• СУБД: Microsoft SQL Server 2016 (SP1)
• Сервер 1С и SQL — на разных машинах
• ОС серверов: Windows Server 2019
Что уже проверяли:
• Нагрузка на SQL в момент открытия запросов пиков не показывает
• После первого открытия данные загружаются быстро — вероятно, кэшируется на стороне 1С или SQL
• Индексы, статистика и планы запросов на SQL актуальны
• Сетевое соединение между серверами стабильное, без явных задержек
Буду благодарен за любые советы, на что обратить внимание, чтобы ускорить первый открывающийся запрос.
Здравствуйте!
«При первом обращении к справочникам и разделам, например:
• «Физические лица»
• «Сотрудники»
• «Номенклатура»
— отклик до открытия занимает около минуты.
При повторном открытии этих же разделов отклик практически мгновенный.
После перезапуска клиента 1С ситуация повторяется — первый доступ снова долгий.» (с)
Ситуация не относится на прямую к программе 1С.
Вам нужен специалист по оптимизации сервера и сети. Мы лишь консультируем по работе типового функционала 1С, заложенного разработчиками.
Специалистов по настройке SQL Server у нас нет.
Но вы можете учесть мое мнение по причинам первоначального долгого открытия справочников в 1С.
Логика программы следующая: 1С при первом подключении после перезапуска серверов или очистки кеша 1С создает их заново. И это длительный процесс, который занимает много времени, если у вас учет в базе ведется давно и данных много.
После того, как первоначальный кеш создан, программа уже обращается именно к нему напрямую, не тратя время на создание перекрестных ссылок и индексов — сразу берет данные структурированные в кеше. И времени это уже не занимает: все ключи, индексы и ссылки созданы в кеше, к которому обращается программа при открытии объекта метаданных в базе 1С.
Когда данные меняются, создается новый кеш и не для всех данных, а только для измененных, поэтому и это не требует дополнительного времени для переиндексации и построений таблиц ключей, ссылок и индексов.
Все данные есть в кеше.
Судя по вашему описанию, у вас постоянно очищается кеш.
Возможно — это делается программно и средствами SQL Servera или написан какой-то bat-ник на эту команду.
Этого мы не знаем.
Но в случае чистки кеша (это происходит при обновлениях платформы, изменениях в конфигурации, сбоях электропитания и перезагрузки серверов) — программа создает кеш в первый раз долго, а потом уже быстро работает по созданному кешу.
Специалист SQL Server проанализирует ситуацию и даст вам рекомендации.
Если кеш создается первоначально долго — возможно, пришло время свернуть базу, если настроить сервер не получится.
Сам динамический поиск по индексам в регламентных задачах тоже можно проверить по задаче Полнотестового поиска, если поиск тоже идет медленно внутри справочника, значит регламентное задание не справляется с перепостроением индексов для быстрого поиска в справочниках и нужно проверить, что регламентное задание работает, расписание запуска адекватное и оно отрабатывает корректно
Обновление индекса ППД 1С 8.3 что это
Но это в дополнение. Основная проблема — в долгом ПЕРВОНАЧАЛЬНОМ создании кеша.
Если проблема в первоначальном запуске только — то это у всех так происходит. Единственно, время зависит от объема и наполнения базы, для «тяжелых» больших баз пока не свернете базу — время будет большим.
Потом уже все должно быть быстро.