Многие системные администраторы, привыкшие к работе с гибкими конфигурационными файлами веб-серверов Apache или СУБД PostgreSQL, сталкиваются с определенными сложностями при попытке «подкрутить» параметры сервера 1С:Предприятие. Существует мнение, что 1С — это «черный ящик», который работает сам по себе. Однако это не совсем так. В рамках данной статьи мы разберем, какими инструментами можно и нужно управлять сервером 1С, где искать скрытые файлы настроек и как оптимизировать систему для работы в высоконагруженных средах.
Прежде всего, разберем базовый уровень управления. Основным инструментом является оснастка «Администрирование серверов 1С Предприятие». Она устанавливается вместе с серверной частью платформы и представляет собой MMC-консоль (в Windows-среде). С ее помощью мы можем управлять кластером серверов, создавать рабочие процессы, регистрировать информационные базы и управлять сеансами пользователей.
Рассмотрим возможности управления подробнее. Важно понимать, что управление может осуществляться тремя способами:
tcp://server:1540.Проанализируем ситуацию, когда графического интерфейса недостаточно или требуется перенести настройки кластера на другой сервер. Главным конфигурационным файлом кластера является 1CV8Clst.lst. Обычно он располагается в каталоге C:\Program Files\1cv8\srvinfo\reg_1541 (путь может отличаться в зависимости от версии и настроек установки).
Выясним, что именно хранится в этом файле. Вопреки заблуждениям, это не просто список баз. В нем прописаны:
rphost).Важное предостережение: Редактирование этого файла вручную при запущенной службе сервера 1С крайне не рекомендуется, так как сервер периодически перезаписывает его, и ваши изменения будут потеряны или приведут к повреждению структуры файла. Перед правкой текстовым редактором службу 1C:Enterprise 8.3 Server Agent необходимо остановить.
Посмотрим на более глубокий уровень тюнинга, который часто игнорируется. Кроме настроек кластера, существуют общесистемные файлы конфигурации платформы:
Файл conf.cfg позволяет управлять глобальным поведением клиентских и серверных приложений. Рассмотрим пример настройки, когда необходимо жестко задать расположение ключей защиты или ограничить использование памяти:
ConfLocation=C:\1C_Config\
SystemResSrvMemLimit=2048
Файл logcfg.xml (Технологический журнал) — это «глаза» администратора в высоконагруженных системах (100+ пользователей). Если сервер начинает «тормозить» или процессы rphost аварийно завершаются, только правильно настроенный техжурнал покажет причину. Мы можем настроить сбор дампов памяти или отслеживание долгих запросов к СУБД. Пример структуры файла для отслеживания ошибок:
<config xmlns="http://v8.1c.ru/7.4/get/logcfg">
<log location="C:\LOGS\1C" history="168">
<event>
<eq property="Name" value="EXCP"/>
</event>
<property name="All"/>
</log>
</config>
Разберем, почему для большого количества пользователей недостаточно просто установить 64-битную версию. 64-битный адресный процесс позволяет rphost занимать практически всю доступную память сервера, что при утечках памяти в коде конфигурации может привести к краху всей ОС.
Для стабильной работы проанализируем и настроим следующие параметры в консоли администрирования:
Рассмотрим наиболее мощный механизм масштабирования — «Требования назначения функциональности». В крупных кластерах мы можем выделить отдельные серверы под конкретные задачи. Например:
Это настраивается через контекстное меню рабочего сервера в консоли. Мы создаем правило, указываем тип объекта (например, «Сервис фоновых заданий») и тип требования («Назначать» или «Не назначать»).
Нельзя забывать, что сервер 1С работает не в вакууме. Для 64-битных систем в Windows Server обязательно проверьте режим электропитания. Установите «Высокая производительность» (High Performance). По умолчанию Windows часто использует сбалансированный режим, который снижает частоту процессора при отсутствии нагрузки. 1С очень чувствительна к частоте ядра, и задержка в миллисекунды при «просыпании» процессора может вызывать фризы в интерфейсе пользователей.
Также для высоконагруженных систем полезно включить опцию Lock pages in memory (Блокировка страниц в памяти) для учетной записи, под которой запускается служба сервера 1С и SQL-сервера. Это предотвратит вытеснение памяти в файл подкачки (swap), что крайне губительно для производительности 1С.
Таким образом, хотя 1С и не предоставляет такого количества текстовых конфигов, как Linux-системы, инструментов для тонкого тюнинга вполне достаточно для обеспечения стабильной работы даже самых крупных предприятий.