Сопровождение 1С в оптимизации процессов
Нами было показано что система действительно основную часть времени не находится под нагрузкой. Далее были выполнены процедуры тонкой настройки сервера данных. Желаемый результат отсутствовал.
Был проведен анализ процессов сервера. Выявлены несколько интересных особенностей поглощающие примерно 80% времени:
1. Cистема для каждого клиента постоянно и регулярно выполняла считывание большого объема информации 2. Также было выявлено большое время ожидания записи на одну из таблиц базы данных.
Дальнейшее расследование показало следующее:
1. У каждого пользователя на рабочем столе запускалась самостоятельно написанная обработка, которая показывала текущие резервы и товарные остатки в системе. Так как это обработка показывала одни и те же данные было рекомендовано вместо отдельного чтения для каждого пользователя реализовать одно чтение выборки для всех.
2. Большое время ожидания было связанно с долгой процедурой поиска предшествующего значения перед записью при установке нового состояния заказа. Процедура при поиске перебором искала нужное значение и блокировала таблицу от записи для других пользователей системы. Другие ждали , потом блокировали от других и т.д. Данная ошибка не проявляется когда объем поиска маленький.