Зависания при работе с подбором товаров в 1С:Рознице — проблема распространенная, особенно когда база активно используется для оперативной работы в РМК и документах прихода. В данной статье мы разберем по шагам, как выявить причину тормозов и устранить их, опираясь на лучшие практики администрирования 1С.
Одной из частых причин внезапных «замираний» системы является работа индекса ПолнотекстовыйПоиск. Этот механизм глобален для всей базы, и любые операции с ним нагружают систему.
ППД — тяжелая операция. В типовых конфигурациях оно настроено на частое обновление. Попробуйте перенести время его выполнения на нерабочие часы или снизить частоту запуска, если поиск в базе не требует ежеминутной актуальности индекса. Помните: обновление индекса затрагивает всех пользователей одновременно.Разница между поведением подбора в РМК и обычном документе часто заключается в настройках ДинамическийСписок. Если в обычном подборе отключено ДинамическоеСчитываниеДанных, система вынуждена загружать гораздо больше записей, чем требуется для отображения, что критично при наличии большого количества ДополнительныхРеквизитов.
Чтобы проанализировать ситуацию, выполните следующие действия:
ЗамерПроизводительности для анализа времени выполнения запроса.ВременныеТаблицы или оптимизировать условия ГДЕ, чтобы SQL-сервер или файловая система могли быстрее построить план запроса.После каждого обновления конфигурации на стороне клиента сохраняются старые метаданные. Если пользователи после обновления стали жаловаться на «странные» тормоза, которые не объясняются загрузкой сервера, необходимо выполнить полную очистку кэша:
%AppData%\1C\1Cv8.Если база файловая (размер 3.9 ГБ и более), она неизбежно начинает деградировать при одновременной работе нескольких пользователей из-за механизма блокировок страниц данных. Переход на MSSQL (в том числе Express-версию) дает качественный скачок производительности:
ДополнительныхРеквизитов.Если «на глаз» определить причину не удается, настройте ТехнологическийЖурнал. Это инструмент позволит зафиксировать конкретные запросы, которые выполняются дольше 2-3 секунд. Это лучший способ доказать, что именно «тормозит»: отсутствие индекса в таблице или неоптимальный запрос к регистру цен.
Помните: все работы по обслуживанию индексации и структуры базы данных лучше проводить, когда в базе никого нет. Придерживайтесь порядка оптимизации: сначала проверяем индексы и запросы, затем — инфраструктуру (перевод на SQL), и только в крайнем случае — апгрейд «железа».