При эксплуатации файловых информационных баз конфигурации 1С:Бухгалтерия предприятия 3.0 в среде сервера терминалов нередко возникает ситуация, когда система некоторое время работает стабильно, а затем производительность резко падает: операции записи начинают занимать длительное время, запуск базы замедляется до десятков минут, а диспетчер задач показывает непрерывную утилизацию диска. Рассмотрим подробнее, почему возникает данная проблема и какими инструментами можно локализовать узкое место.
Для понимания природы деградации производительности проанализируем основные архитектурные ограничения и системные факторы, влияющие на работу 1С в файловом режиме:
1Cv8.1CD. В файловом режиме блокировка при транзакциях записи накладывается на уровне целых таблиц. Когда несколько пользователей одновременно проводят документы или формируют тяжелые отчеты в одной базе, их сеансы выстраиваются в очередь ожидания освобождения таблиц, многократно опрашивая файловую систему и создавая лавинообразную нагрузку на дисковый накопитель.1cv8.exe. Индексация полнотекстового поиска, обновление классификаторов и загрузка курсов валют могут запускаться спонтанно, утилизируя до 100% дисковых ресурсов.Разберем по шагам, как выявить конкретный компонент, вызывающий зависание системы, без необходимости немедленной перезагрузки оборудования.
Шаг 1. Анализ счетчиков системного монитора производительности (Performance Monitor).
Запустим оснастку perfmon.msc и добавим ключевые счетчики производительности:
PhysicalDisk \ Avg. Disk Queue Length — показывает среднюю длину очереди к физическому диску. Если значение стабильно превышает 2 на один физический диск, подсистема хранения является главным «бутылочным горлышком».PhysicalDisk \ % Idle Time — процент времени простоя накопителя. Падение значения до 0–5% свидетельствует о полной загрузке диска операциями ввода-вывода.Memory \ Pages/sec и Memory \ Page Faults/sec — высокая частота обращений к файлу подкачки подтверждает нехватку оперативной памяти сеансам 1С и активный свопинг.Memory \ Pool Paged Bytes и Memory \ Free System Page Table Entries (PTEs) — позволяют отследить критическое исчерпание пулов ядра операционной системы.Шаг 2. Мониторинг процессов и активности ввода-вывода.
С помощью утилиты Process Monitor отфильтруем события по имени процесса 1cv8.exe и операциям ReadFile / WriteFile. Это позволит определить:
1Cv8.1CD, журналу регистрации 1Cv8.lgd или временным файлам в каталогах профилей).Duration) при обращении к файловой системе.Шаг 3. Использование технологического журнала 1С.
Создадим файл конфигурации logcfg.xml в каталоге conf платформы 1С для сбора событий длительных блокировок и обращений к базе данных:
<config xmlns="http://v8.1c.ru/v8/tech-log">
<dump location="C:\Logs\Dumps" create="false"/>
<log location="C:\Logs\1C_Perf" history="24">
<event>
<eq property="name" value="TLOCK"/>
</event>
<event>
<eq property="name" value="TTIMEOUT"/>
</event>
<property name="all"/>
</log>
</config>
Анализ полученных логов покажет, на каких таблицах и запросах пользователи сталкиваются с таймаутами ожидания блокировок.
После локализации проблемы выполним комплекс мер по оптимизации серверного окружения и конфигурации 1С:
1. Отключение ресурсоемких регламентных заданий.
В режиме 1С:Предприятие перейдем в раздел Администрирование — Обслуживание — Регламентные и фоновые задания. Отключим или перенесем на нерабочее время следующие задачи:
Обновление индекса ППД и Слияние индексов ППД (полнотекстовый поиск).Загрузка курсов валют и Загрузка классификаторов.Автоматическая проверка обновлений и Новости.2. Настройка исключений антивирусного ПО.
Добавим в список исключений постоянного мониторинга антивируса следующие объекты:
*.1CD, *.1CL, *.cfl, *.lgd, *.lgf.AppData\Local\Temp\1C...).3. Обслуживание физической структуры информационной базы.
Выполним регулярное техническое обслуживание файла базы данных:
chdbfl.exe (расположена в папке bin установленной платформы).4. Оптимизация аппаратной и системной части.