Администрирование · 12 мин
Как работают серверы 1С: архитектура и принципы работы
Как устроены серверы 1С: кластер, агент и рабочие процессы, связь с СУБД, файловый и клиент-серверный режимы, требования к оборудованию и типичные ошибки настройки.
Сервер 1С — это не отдельная программа, а связка компонентов: сервер приложений (кластер серверов 1С:Предприятия), система управления базами данных (СУБД) и клиентские приложения пользователей. Понимание того, как эти части взаимодействуют, помогает правильно выбрать архитектуру, диагностировать «тормоза» и не тратить деньги на избыточное оборудование.
В файловом режиме 1С работает без выделенного сервера приложений: база лежит в общей папке, а каждый клиент читает и пишет в неё напрямую. В клиент-серверном режиме между пользователями и данными встают два посредника — кластер 1С, который выполняет прикладной код, и СУБД (MS SQL Server, PostgreSQL, Oracle или IBM Db2), которая физически хранит данные.
Ключевая идея клиент-серверной архитектуры — разделение нагрузки. Клиент показывает интерфейс и передаёт запросы, сервер 1С выполняет бизнес-логику (проведение документов, расчёты, формирование отчётов), а СУБД отвечает за транзакции, блокировки и целостность данных. Именно поэтому «медленная 1С» почти всегда означает проблему в одном из трёх звеньев, а не в программе как таковой.
Файловый и клиент-серверный режимы: в чём разница
В файловом режиме вся информационная база хранится в одном файле 1Cv8.1CD. Каждый пользователь открывает этот файл по сети, и платформа сама управляет блокировками на уровне файла. Такой вариант прост в развёртывании: не нужна ни СУБД, ни сервер приложений, достаточно общей сетевой папки.
Ограничения файлового режима проявляются с ростом нагрузки: при одновременной работе многих пользователей возрастает число конфликтов блокировок, сетевой трафик увеличивается, а риск повреждения файла при сбое сети или питания становится ощутимым. Практический ориентир — небольшие коллективы и умеренный объём данных; точные границы зависят от интенсивности работы и конфигурации.
В клиент-серверном режиме файл базы отсутствует как таковой: данные хранятся в таблицах СУБД, а сервер 1С формирует к ним SQL-запросы. Это даёт надёжные транзакции, параллельную работу сотен пользователей, разграничение прав на уровне СУБД и штатные механизмы резервного копирования.
Сравнение вариантов
Подходит небольшим командам без выделенного сервера. Ограничение: рост числа пользователей и объёма данных быстро упирается в блокировки и риск повреждения файла.
Для десятков и сотен одновременных пользователей, больших баз и требований к отказоустойчивости. Ограничение: нужны лицензии на сервер 1С и СУБД, плюс квалифицированное администрирование.
Публикация базы на веб-сервере (IIS или Apache) для доступа через браузер без полноценного кластера. Подходит для удалённого доступа небольших команд.
Из чего состоит кластер серверов 1С
Кластер серверов 1С:Предприятия — это набор процессов, работающих на одном или нескольких физических серверах. Главный процесс — агент сервера (ragent), который управляет конфигурацией кластера, ведёт список информационных баз и распределяет подключения. Без агента кластер не существует: именно к нему подключается консоль администрирования.
За фактическое выполнение прикладного кода отвечают рабочие процессы rphost. Именно они исполняют проведение документов, построение отчётов, фоновые задания и обращаются к СУБД. Один рабочий процесс обслуживает несколько сеансов пользователей; при нехватке ресурсов кластер запускает дополнительные rphost, а при отказе одного из них сеансы могут быть перенесены на другие.
Дополнительно в кластере работают менеджер кластера (rmngr), координирующий распределение нагрузки и сервисы (сеансовых данных, блокировок, полнотекстового поиска), и агент сервера может обслуживать несколько рабочих серверов одновременно. Такая структура позволяет строить отказоустойчивые конфигурации из нескольких машин.
Как проходит запрос от пользователя до базы данных
Когда пользователь нажимает «Провести документ», клиентское приложение отправляет вызов на сервер 1С по протоколу TCP (по умолчанию используются порты диапазона 1540–1591: агент слушает 1540, менеджер кластера — 1541, рабочие процессы — динамические порты из диапазона 1560–1591). Если работа идёт через веб-сервер, клиент общается с ним по HTTP/HTTPS, а веб-сервер уже передаёт запрос кластеру.
Кластер выбирает рабочий процесс, который выполнит серверный код: проверки, расчёты, формирование движений по регистрам. Внутри этого кода платформа генерирует SQL-запросы к СУБД — чтение остатков, запись проводок, установку управляемых блокировок. СУБД выполняет транзакцию и возвращает результат, после чего rphost отдаёт ответ клиенту.
Важно понимать, что «тяжёлая» операция нагружает оба сервера: rphost потребляет процессор и память при выполнении кода, а СУБД — при выполнении запросов и обработке блокировок. Поэтому диагностику медленной работы всегда ведут с двух сторон: технологический журнал кластера показывает длительные вызовы, а средства СУБД — длительные запросы и ожидания блокировок.
- 1Клиент (толстый, тонкий или веб-клиент) отправляет вызов на кластер 1С
- 2Менеджер кластера назначает рабочий процесс rphost
- 3rphost выполняет серверный код конфигурации
- 4Платформа формирует SQL-запросы и передаёт их в СУБД
- 5СУБД выполняет транзакцию и возвращает данные
- 6rphost обрабатывает результат и отдаёт ответ клиенту
- 7Клиент отображает результат пользователю
Роль СУБД и почему она критична для производительности
СУБД в связке с 1С отвечает за физическое хранение таблиц, выполнение транзакций, журналирование изменений и управление конкурентным доступом. Платформа 1С официально поддерживает несколько СУБД, в практике чаще всего встречаются MS SQL Server и PostgreSQL (в том числе сборки, адаптированные под 1С).
Значительная часть проблем производительности 1С находится именно на уровне СУБД: нехватка оперативной памяти под буферный кэш, медленные диски для журнала транзакций, неактуальная статистика, фрагментация индексов, блокировки при параллельном проведении документов. Сервер приложений при этом может быть загружен умеренно, а пользователи всё равно будут жаловаться на «зависания».
Типовые меры на стороне СУБД: размещение данных и журнала транзакций на быстрых дисках, регулярное обновление статистики и перестроение индексов, настройка объёма памяти, мониторинг длительных запросов. Конкретные параметры зависят от выбранной СУБД и объёма базы, универсальных «магических» настроек нет.
Требования к оборудованию и размещение компонентов
Для небольших внедрений кластер 1С и СУБД нередко размещают на одном физическом сервере — это снижает затраты, но создаёт конкуренцию за память и диски. При росте нагрузки рекомендуется разносить сервер приложений и СУБД на разные машины: СУБД критичны быстрые диски и большой объём памяти, серверу 1С — процессорная мощность и память под рабочие процессы.
Точные требования зависят от версии платформы, конфигурации, числа пользователей и профиля нагрузки, поэтому универсальных цифр нет. Практический подход — начать с конфигурации с запасом по памяти, наблюдать за реальным потреблением (память rphost, нагрузка на диски СУБД) и масштабировать по фактическим замерам, а не по усреднённым рекомендациям.
Сеть между сервером 1С и СУБД должна быть быстрой и стабильной: обмен идёт постоянно, и задержки напрямую ощущаются пользователями. Размещение этих компонентов в разных сегментах сети или через медленные каналы — частая скрытая причина «тормозов».
Диагностика: как понять, где проблема
Первый шаг — определить, какое звено перегружено. Если высока загрузка процессора и памяти процессами rphost, проблема в серверном коде или количестве сеансов. Если процессы 1С «ждут», а нагрузка сосредоточена на сервере СУБД — ищите длительные запросы и блокировки. Если страдают только отдельные пользователи — проверяйте их клиентские машины и сетевое подключение.
Основные инструменты: консоль администрирования кластера (список сеансов, соединений, рабочих процессов), технологический журнал платформы (замеры длительности вызовов и запросов), мониторинг ресурсов операционной системы и штатные средства наблюдения за СУБД. Комбинация этих источников позволяет локализовать проблему без догадок.
Как проверить результат
Потребление стабильно, есть свободная память на сервере
Постоянный рост до исчерпания памяти, ошибки нехватки ресурсов
Проведение документов и отчёты выполняются за приемлемое для пользователей время
Регулярные многоминутные ожидания, массовые жалобы
Кратковременные ожидания, завершающиеся сами
Длинные цепочки взаимоблокировок, ошибки превышения времени ожидания
Очередь к дискам и задержки в пределах нормы для вашего оборудования
Постоянная высокая очередь, длительные задержки записи в журнал транзакций
Типичные ошибки при внедрении и эксплуатации
Отдельная группа ошибок связана с лицензированием: клиентские лицензии ограничивают число одновременных сеансов, а для сервера 1С требуется отдельная серверная лицензия. Симптом нехватки лицензий — отказ в подключении новых пользователей при формально работающем сервере, что иногда ошибочно принимают за сбой.
Ещё одна распространённая ситуация — обновление платформы без тестирования на копии базы. Изменения в механизмах платформы могут повлиять на производительность и поведение конфигурации, поэтому обновление продуктивного сервера всегда предваряют проверкой на тестовом стенде и планом отката.
Как выбрать действие
Часто задаваемые вопросы
Можно ли работать в 1С без сервера вообще?
Да, в файловом режиме база хранится в файле 1Cv8.1CD на локальном диске или в общей сетевой папке, и сервер приложений не требуется. Такой вариант подходит небольшим командам, но ограничен по числу одновременных пользователей и устойчивости к сбоям.
Чем отличается тонкий клиент от толстого?
Толстый клиент выполняет часть прикладного кода на компьютере пользователя и требует больше ресурсов рабочего места. Тонкий клиент лишь отображает интерфейс и передаёт вызовы на сервер, поэтому меньше нагружает сеть и подходит для слабых машин и медленных каналов.
Какую СУБД выбрать для сервера 1С?
Чаще всего используют MS SQL Server или PostgreSQL. MS SQL удобен в инфраструктуре Windows и имеет развитые средства администрирования, PostgreSQL позволяет снизить затраты на лицензии. Выбор зависит от бюджета, квалификации администраторов и требований к нагрузке; платформа 1С поддерживает оба варианта.
Почему процессы rphost занимают много памяти?
Каждый рабочий процесс кэширует данные сеансов, метаданные конфигурации и результаты запросов, поэтому потребление памяти растёт с числом пользователей и интенсивностью работы. Это нормально до тех пор, пока хватает физической памяти; при проблемах настраивают ограничения и плановый перезапуск процессов в консоли кластера.
Нужен ли отдельный сервер для СУБД?
Для небольших баз допустимо размещение кластера 1С и СУБД на одной машине при достаточном запасе памяти и быстрых дисках. При росте нагрузки разнесение на разные серверы устраняет конкуренцию за ресурсы и упрощает диагностику, поэтому это стандартная рекомендация для средних и крупных внедрений.
Что важно запомнить
Сервер 1С — это кластер из агента, менеджера и рабочих процессов rphost, который выполняет прикладной код и обращается к СУБД за данными. Файловый режим подходит небольшим командам, клиент-серверный — при росте пользователей и объёмов. Диагностику производительности всегда ведите раздельно по серверу 1С и СУБД, а любые рискованные операции выполняйте только после проверенной резервной копии.