Медленная работа 1С:Предприятие 8.3 — одна из самых частых проблем, с которой сталкиваются небольшие компании при увеличении числа пользователей или после обновления конфигураций на управляемых формах (например, при переходе с «Бухгалтерии предприятия» 2.0 на версию 3.0). Классический файловый режим, когда база данных лежит в общей сетевой папке, а пользователи открывают её со своих компьютеров, неизбежно приводит к критическому снижению производительности. Время запуска программы увеличивается до нескольких минут, а проведение документов превращается в мучительное ожидание.
В этой статье мы подробно разберем, почему файловый режим по сети работает медленно, и рассмотрим проверенные практические методы оптимизации инфраструктуры, серверов и самой платформы 1С для восстановления комфортной скорости работы.
Чтобы понять, как исправить проблему, проанализируем её причину. В файловом режиме вся обработка данных (выборки, расчеты, построение отчетов) происходит непосредственно на компьютерах пользователей. Когда база данных лежит в расшаренной папке на сервере, клиентские компьютеры вынуждены постоянно скачивать огромные объемы информации из файла 1Cv8.1CD по локальной сети.
Основные факторы замедления при такой схеме работы:
Для решения этой проблемы мы можем использовать несколько альтернативных архитектурных подходов, которые полностью исключат передачу тяжелых файлов базы данных по локальной сети.
Это один из наиболее эффективных и бюджетных способов ускорения 1С без покупки дорогостоящих серверных лицензий. Суть метода заключается в том, что на сервере поднимается веб-сервер (например, бесплатный Apache или встроенный в Windows IIS), на котором публикуется база 1С. Пользователи подключаются к базе не через сетевую папку, а по протоколам HTTP/HTTPS с помощью встроенного Тонкого клиента 1С.
Преимущества веб-публикации:
Выполним тонкую настройку веб-сервера Apache для обеспечения стабильной работы под нагрузкой:
httpd.conf) необходимо включить постоянное удержание соединений. Это избавит тонкие клиенты от необходимости устанавливать новое TCP-соединение при каждом мелком запросе. Найдите и отредактируйте следующие параметры:
KeepAlive On
MaxKeepAliveRequests 0
KeepAliveTimeout 15
mpm_winnt_module в Apache для Windows настроен на работу со 150 потоками. Для предотвращения зависаний при одновременной работе пользователей рекомендуется увеличить это значение в блоке конфигурации:
<IfModule mpm_winnt_module>
ThreadsPerChild 250
MaxConnectionsPerChild 0
</IfModule>
Терминальный доступ (Remote Desktop Protocol) — классический способ централизации работы пользователей. В этом случае и платформа 1С, и сама база данных физически работают на одном и том же мощном сервере. Пользователи видят на своих мониторах только трансляцию экрана сессии, запущенной на сервере.
Преимущества терминального доступа:
Устранение внезапных зависаний в терминальном режиме:
Иногда терминальный режим, который долгое время работал идеально, начинает внезапно тормозить и зависать при запуске. Разберем основные причины и способы их устранения:
spooler) и утечкам памяти. При открытии любого документа в 1С платформа пытается опросить доступные принтеры и намертво зависает. Для решения проблемы переведите сервер на использование универсальной технологии MS Easy Print, которая выполняет печать без прямой установки драйверов на сервер. Также регулярно очищайте неиспользуемые сетевые порты принтеров на сервере.
C:\Users\UserName\AppData\Local\1C\
C:\Users\UserName\AppData\Roaming\1C\
Если в базе одновременно работают более 5–7 пользователей, файловый вариант (даже через веб-сервер) начинает исчерпывать свои возможности из-за блокировок таблиц базы данных на уровне СУБД 1С. В этом случае рекомендуется приобрести Сервер 1С:Предприятие 8.3 МИНИ на 5 подключений и развернуть бесплатную систему управления базами данных (например, PostgreSQL) или коммерческий MS SQL Server.
Для того чтобы клиент-серверный вариант действительно «летал», выполним обязательную тонкую настройку СУБД:
rphost.exe) не менее 4–6 ГБ памяти.Max Degree of Parallelism (MAXDOP) необходимо жестко установить в значение 1 (в редких случаях для очень мощных процессоров — в значение 2).TempDB используется для хранения временных таблиц 1С. Разбейте базу TempDB на несколько файлов одинакового размера (количество файлов должно соответствовать числу физических ядер процессора, но не более 8) и обязательно перенесите их на самый быстрый доступный SSD-накопитель.Производительность платформы 1С критически зависит от частоты работы одного ядра процессора, а не от суммарного количества ядер. При этом современные серверные процессоры по умолчанию настроены на жесткое энергосбережение, динамически снижая тактовую частоту в простое.
Когда пользователь запускает сложный расчет или проведение документа, процессору требуются драгоценные миллисекунды, чтобы «проснуться» и поднять частоту. В условиях постоянных микрозапросов 1С это выливается в серьезные задержки.
Инструкция по настройке оборудования:
C-States (C1E, C3, C6), Intel SpeedStep или AMD Cool'n'Quiet.100%.Зачастую долгий старт программы (когда окно выбора пользователя не появляется по 3–5 минут) вызван некорректным разрешением сетевых имен и таймаутами протокола IPv6.
Рассмотрим порядок устранения сетевых задержек:
hosts на клиентских машинах. Файл находится по пути:
C:\Windows\System32\drivers\etc\hosts
Добавьте в конец файла строчку вида:
192.168.1.100 MyServerName
HKLM\System\CurrentControlSet\Services\LanmanWorkstation\Parameters
И создайте там три параметра типа DWORD (32 бита) со значением 0:
DirectoryCacheLifetimeFileInfoCacheLifetimeFileNotFoundCacheLifetimeКак показывает практика разбора логов на форумах, часто причиной внезапного и жесткого зависания платформы при запуске становится файл конфигурации стартера 1CEStart.cfg.
Если ранее на предприятии выполнялась централизованная установка платформы с сетевого ресурса, в этом файле прописывается путь для автоматического поиска и установки обновлений. Если сетевое имя сервера изменилось, или папка была удалена, программа при каждом запуске будет долго и безуспешно пытаться подключиться к несуществующему сетевому адресу, полностью блокируя интерфейс.
Рассмотрим, как это исправить:
C:\Users\UserName\AppData\Roaming\1C\1CEStart\1CEStart.cfg
UseHWLicenses=1
AppAutoInstallLastVersion=1
Если в файле присутствует параметр ConfigurationTemplatesLocation со старым неработающим сетевым путем, удалите эту строку или пропишите актуальный локальный путь к шаблонам конфигураций.
В файловой базе данных все фоновые и регламентные задания запускаются последовательно на компьютере того пользователя, который вошел в базу самым первым. Если это слабый офисный ПК, он будет постоянно зависать во время работы.
Зайдите в базу под правами администратора в раздел Администрирование -> Обслуживание -> Регламентные операции -> Регламентные и фоновые задания и полностью отключите неиспользуемые тяжелые процессы:
Настройка исключений антивирусного ПО:
Антивирусы могут замедлять проведение документов в 1С в несколько раз, проверяя каждый создаваемый временный файл базы данных. Обязательно добавьте в список исключений сканирования вашего антивируса на сервере и рабочих станциях следующие объекты:
1cv8.exe, 1cv8c.exe, rphost.exe, dbeng8.exe.*.1CD, *.1CL, *.cdn.%userprofile%\AppData\Local\1C\ и %userprofile%\AppData\Roaming\1C\.%TEMP%, куда программа постоянно записывает промежуточные данные отчетов.Применение данных комплексных мер позволит перевести работу 1С 8.3 на качественно новый уровень производительности, обеспечив быстрый отклик интерфейса и комфортную работу пользователей без лишних финансовых затрат на закупку нового оборудования.