Проблема с долгим запуском конфигуратора 1С или его полным «зависанием» на этапе заставки — ситуация, с которой часто сталкиваются администраторы и разработчики, особенно в клиент-серверных вариантах работы на платформе 8.2 или 8.3. В некоторых случаях ожидание может достигать 20–30 минут, а временным решением становится очистка пользовательского кэша, которая помогает лишь на короткий срок. В этой статье мы подробно разберем, почему это происходит, и проанализируем эффективные способы решения проблемы, начиная от простых настроек запуска и заканчивая оптимизацией работы SQL-сервера.
Одной из наиболее частых причин долгого старта является работа универсального загрузчика 1cestart.exe. Когда в системе установлено несколько версий платформы, этот исполняемый файл выполняет поиск подходящей версии, проверяет наличие обновлений и анализирует файл конфигурации 1cescmn.cfg. В условиях нестабильной сети или конфликтов версий этот процесс может зацикливаться или вызывать длительные таймауты.
Проанализируем ситуацию: если запуск через стандартный ярлык занимает много времени, попробуем запустить конфигуратор напрямую. Для этого перейдем в каталог конкретной версии платформы, которая используется на сервере. Обычно путь выглядит так: C:\Program Files (x86)\1cv82\8.2.19.130\bin\ (или аналогичный для версии 8.3). Найдем в этой папке файл 1cv8s.exe (для толстого клиента) или 1cv8.exe. Запуск базы напрямую из этой папки, минуя 1cestart.exe, часто мгновенно решает проблему «зависания».
Если работа с файлами платформы не принесла результата, рассмотрим состояние базы данных на стороне MS SQL Server. При частом использовании механизма «динамического обновления» (обновление конфигурации базы данных без отключения пользователей) в служебных таблицах накапливается большое количество избыточных данных. Одной из таких таблиц является ConfigSave.
Разберем, как это влияет на запуск: конфигуратор при старте пытается сопоставить текущую основную конфигурацию с данными в ConfigSave. Если эта таблица раздута, процесс сравнения может занимать десятки минут. Для решения проблемы рекомендуется выполнить очистку этой таблицы. Внимание: перед любыми операциями с SQL обязательно создайте резервную копию базы данных!
Выполним следующий сценарий:
-- Проверка наличия данных в таблице ConfigSave
SELECT COUNT(*) FROM dbo.ConfigSave;
-- Очистка таблицы, если в ней зависли временные данные конфигурации
DELETE FROM dbo.ConfigSave;
После очистки таблицы также желательно выполнить процедуру Shrink для базы данных и обновить статистику. Это позволит SQL-серверу быстрее строить планы запросов при обращении к метаданным.
Выясним причину, связанную с сетевым окружением. Современные операционные системы Windows Server по умолчанию приоритезируют протокол IPv6. Однако серверная часть 1С и старые версии платформы (особенно 8.2) могут некорректно или слишком долго обрабатывать запросы по этому протоколу. Система сначала пытается соединиться по IPv6, ждет ответа по таймауту, и только потом переключается на IPv4.
Рассмотрим шаги по устранению этой задержки:
IPv6 в свойствах сетевого адаптера на сервере и на рабочей станции.IP-адреса в файле hosts. Это исключит лишние обращения к DNS-серверу, которые также могут вызывать задержки при авторизации. Путь к файлу: C:\Windows\System32\drivers\etc\hosts.Пример записи в файле hosts:
192.168.1.10 my-1c-server
Проанализируем работу антивируса. При запуске конфигуратора система 1С создает множество временных файлов в папках профиля пользователя. Если антивирус настроен на сканирование каждого нового файла в реальном времени, запуск замедлится в разы. Нам необходимо добавить в исключения (White List) следующие объекты:
1cv8.exe, 1cv8s.exe, rphost.exe, ragent.exe.%AppData%\1C и %LocalAppData%\1C.%TEMP%.Также стоит проверить настройки DEP (Data Execution Prevention). В некоторых случаях предотвращение выполнения данных блокирует корректную работу модулей платформы 8.2. Попробуем добавить исполняемые файлы 1С в список исключений DEP в настройках производительности системы.
Рассмотрим довольно специфическую, но распространенную причину. При инициализации интерфейса конфигуратор 1С опрашивает принтер, установленный в системе по умолчанию. Это необходимо для корректного построения форм и макетов. Если в качестве принтера по умолчанию установлен сетевой принтер, который в данный момент недоступен или находится в другой подсети, 1С будет ожидать ответа от службы печати до истечения системного таймаута (около 1–2 минут).
Для решения этой проблемы установим в качестве принтера по умолчанию любой локальный виртуальный принтер (например, Microsoft XPS Document Writer или PDF-принтер).
Помимо кэша самой 1С, который находится в папках Local и Roaming, платформа активно использует системную переменную %TEMP% для распаковки конфигурации. Если в этой папке скопились десятки тысяч файлов от других приложений, поиск свободного места и запись новых временных файлов 1С может существенно замедлиться.
Выполним регулярную очистку:
%TEMP% (через проводник или нажав Win+R).Если все вышеперечисленные методы не помогают, стоит задуматься об обновлении платформы. Версии линейки 8.2 давно не поддерживаются и могут иметь внутренние ошибки совместимости с новыми версиями Windows Server или MS SQL. Переход на актуальный релиз 8.3 (даже в режиме совместимости с 8.2) часто решает проблемы производительности за счет оптимизированных алгоритмов работы с памятью и сетью.
Дополнительно проверим состояние дисков, на которых расположены базы данных и кэш. Высокое значение очереди к диску в мониторе ресурсов указывает на то, что физическая подсистема не справляется с нагрузкой. В этом случае поможет дефрагментация (для HDD) или проверка здоровья SSD, а также перенос папок кэша на более быстрые диски с помощью символьных ссылок.