Сервер 1С: как устроен клиент-серверный режим и когда он нужен

· 9 мин

Содержание

Сервер 1С Предприятия — это набор служб, которые держат работу с базой на стороне сервера, а не на компьютере пользователя. Файловая база лежит в папке и открывается напрямую каждым клиентом. Клиент-серверная база живёт в СУБД (PostgreSQL, MS SQL Server и другие), а между пользователем и данными стоит кластер серверов 1С.

Практическое правило: до 5–10 пользователей и базы в несколько гигабайт хватает файлового режима. Больше людей, больше данных, регламентные задания и высокая нагрузка на проведение документов — нужен сервер. Это ориентир, а не жёсткая граница: многое зависит от конфигурации и привычек пользователей.

Чем клиент-серверный вариант отличается от файлового

В файловом режиме каждый клиент сам читает и пишет файл базы по сети. Вся «умная» работа — на рабочем месте. Если десять человек одновременно проводят документы, по сети гоняются огромные куски данных, а блокировка целого файла тормозит всех.

В клиент-серверном режиме клиент отправляет серверу запрос, сервер сам обращается к СУБД и возвращает готовый результат. Сеть несёт только результат, а не сырые данные.

ПараметрФайловая базаКлиент-серверная
ХранениеФайл 1Cv8.1CD в папкеТаблицы в СУБД
НагрузкаНа компьютеры пользователейНа сервер
БлокировкиУровень файла/таблицыСтрочные, управляемые
Размер базыЕдиницы гигабайтСотни гигабайт и больше
Резервное копированиеКопия файлаСредствами СУБД, без остановки
Регламентные заданияНа клиентеНа сервере по расписанию
СтоимостьНижеДороже: сервер, СУБД, лицензии

Что получаете, переходя на сервер

  • 🚀 Скорость при десятках одновременных пользователей.
  • 🔒 Блокировки на уровне записей, а не всей базы.
  • 💾 Резервное копирование «на горячую» средствами СУБД.
  • ⏱ Фоновые и регламентные задания работают без открытого клиента.
  • 🌐 Подключение через веб-клиент и тонкий клиент по сети без файловых шар.

Что теряете

Нужен администратор, а не «человек, который умеет». Надо следить за СУБД, диском, памятью, обновлять платформу в двух местах. Плюс отдельные затраты на лицензию сервера и самого железа.

Как понять, что файловый режим исчерпал себя

Не ждите, пока бухгалтерия встанет. Признаки, что пора смотреть в сторону сервера:

  • ⏳ Проведение или закрытие месяца занимает заметно больше времени, чем год назад.
  • 🔁 Пользователи часто видят «база занята» или ждут друг друга при записи.
  • 📈 Файл базы приближается к нескольким гигабайтам и продолжает расти.
  • 🌍 Часть людей работает удалённо, и открывать общую папку по VPN уже неудобно.
  • 🛠 Нужны регламентные задания: обмены, загрузка выписок, рассылки по расписанию.

Хватает одного-двух признаков вместе с ростом штата, чтобы планировать переход. Один из них, особенно удалённая работа, сам по себе часто решается и без сервера: терминальным доступом или веб-клиентом, но обычно это временная мера.

Куда ставить сервер: свой, арендованный, облачный

ВариантПлюсыМинусы
Собственный сервер в офисеПолный контроль, нет абонплатыПокупка железа, бесперебойное питание, обслуживание
Виртуальная машина в арендеБыстрый запуск, гибкие ресурсыЕжемесячный платёж, зависимость от провайдера
Готовое облако 1САдминистрирование на стороне поставщикаМеньше свободы в настройках, платёж за пользователя

Для небольшой компании аренда виртуальной машины часто оказывается разумным компромиссом: ресурсы можно нарастить за несколько минут, а резервное копирование провайдер умеет делать на отдельное хранилище.

Из чего состоит кластер серверов 1С

Кластер — это логическая группа серверных процессов, обслуживающих набор баз. Он может жить на одной машине или на нескольких. Основные компоненты:

  1. Агент сервера (ragent) — служба, которая запускается вместе с операционной системой. Хранит конфигурацию кластера и следит за остальными процессами.
  2. Менеджер кластера (rmngr) — управляет распределением нагрузки, хранит список сеансов и блокировок, решает, какому рабочему процессу отдать запрос.
  3. Рабочий процесс (rphost) — делает основную работу: выполняет серверный код, обращается к СУБД, формирует ответы клиентам. Их может быть несколько, и они бывают разными по базам.
  4. Консоль администрирования — окно, где видны сеансы, соединения, блокировки и настройки кластера. Есть консоль в составе поставки и командная утилита rac.

Схема запроса простая: клиент → агент → менеджер → рабочий процесс → СУБД → обратно тем же путём.

Порты, которые нужно знать

По умолчанию сервер использует такие порты:

  • 1540 — агент сервера;
  • 1541 — менеджер основного кластера;
  • диапазон 1560–1591 — рабочие процессы.

Фаервол должен их пропускать, иначе клиент подключится к агенту, но не достучится до рабочего процесса. Диапазоны можно менять в настройках запуска службы.

Если у вас один сервер и один кластер, лишнего настраивать не нужно. Несколько рабочих процессов оправданы, когда один процесс упирается в память или ядро.

Какое железо нужно под сервер 1С

Точных цифр «на пользователя» нет: нагрузку определяет конфигурация, регламентные задания и количество одновременных сеансов. Ниже — ориентиры для типовой бухгалтерской базы, а не гарантия.

Количество пользователейПроцессорПамятьДиск
до 204 ядра16 ГБSSD
20–506–8 ядер32 ГБSSD, желательно NVMe
50–1008–16 ядер64 ГБ и большеNVMe, отдельный для логов

На что смотреть в первую очередь

  • 🧠 Частота ядра важнее их количества. Серверный код 1С в основном однопоточный. Процессор с высокой тактовой частотой часто даёт больше, чем «многоядерник» на низких частотах.
  • 💽 SSD обязателен. На обычном HDD проведение и формирование отчётов тормозят заметнее всего.
  • 🧩 Памяти не жалейте. Рабочие процессы и СУБД её кешируют. Нехватка памяти ведёт к своппингу и деградации.
  • 🌐 Сеть между сервером 1С и СУБД. Если они на разных машинах, нужен быстрый и стабильный канал, лучше отдельный.

Вместе или раздельно

На одной машине сервер 1С и СУБД удобнее для небольших установок: нет сетевых задержек. Но они конкурируют за память. Для базы от 30–50 пользователей обычно разделяют их по разным серверам или виртуальным машинам.

Операционная система — Windows Server или Linux. Для Linux сервер 1С и PostgreSQL ставят из пакетов; администрирование чуть иное, но возможности те же.

Настройка и оптимизация производительности

Большая часть скорости 1С решается не на уровне «железа», а на уровне СУБД и правильной эксплуатации. Порядок действий от простого к сложному.

Шаг 1. Настройте СУБД под нагрузку 1С

Базовые параметры PostgreSQL берут не «по умолчанию», а под объём памяти. Типовая отправная точка:

# postgresql.conf — ориентир для сервера с 32 ГБ памяти под СУБД
shared_buffers = 8GB
effective_cache_size = 24GB
work_mem = 32MB
maintenance_work_mem = 1GB

Значения надо подбирать под конкретную нагрузку, а не копировать. Для MS SQL Server обычно ограничивают максимальный объём памяти, чтобы остатка хватало операционной системе и службам 1С.

Шаг 2. Регулярное обслуживание базы

Без обслуживания статистика устаревает, индексы распухают, планы запросов становятся плохими. Нужно по расписанию:

  • обновлять статистику таблиц;
  • перестраивать или реорганизовывать индексы;
  • выполнять очистку (VACUUM в PostgreSQL) и следить за размером журналов.

Такие задания настраивают средствами самой СУБД, ночью, вне рабочих часов.

Шаг 3. Сократите ненужные блокировки

Если пользователи жалуются «зависает при проведении», открывайте консоль администрирования. На вкладке блокировок видно, кто кого ждёт. Частая причина — длинные транзакции в регламентном задании или управляемые блокировки, захваченные «с запасом».

Шаг 4. Выведите тяжёлое из рабочего времени

Закрытие месяца, пересчёт итогов, массовые обработки лучше запускать по расписанию ночью. Для этого в клиент-серверном режиме есть регламентные задания, они работают без участия пользователя.

Перед любыми изменениями настроек СУБД и службы сервера сделайте копию базы и зафиксируйте текущие значения. Откат без записанных исходных параметров превращается в угадывание.

Шаг 5. Смотрите на метрики, а не на ощущения

Для оценки используйте технологический журнал и замеры производительности, а также мониторинг загрузки процессора, памяти и диска. Без этого легко «оптимизировать» то, что и так не тормозило.

Лицензирование: что покупать для сервера 1С

Сервер 1С Предприятия требует отдельную лицензию на сам сервер. Это не то же самое, что клиентские лицензии на рабочие места.

Различают:

  • Лицензия на сервер — программная или аппаратная, определяет, какие возможности кластера доступны. Бывает базовый вариант для небольших нагрузок и расширенный — с поддержкой нескольких рабочих процессов и крупных кластеров.
  • Клиентские лицензии (КЛ) — определяют, сколько одновременных сеансов может подключиться. Продаются пакетами, привязываются к серверу.
  • Лицензия СУБД — отдельно. PostgreSQL бесплатен, MS SQL Server и Oracle лицензируются по своим правилам.

Точные условия, названия редакций и цены у разных поставщиков отличаются и меняются. Ориентировочно клиентские лицензии на 5–10 мест стоят в диапазоне от нескольких десятков до сотни тысяч рублей, сервер — заметно дороже, а у MS SQL основные расходы идут на лицензирование по ядрам. Актуальный прайс уточняйте у партнёра фирмы «1С».

Использование нелицензионного сервера или клиентов — нарушение, а риски (блокировка, претензии, штрафы) заметно перекрывают экономию. Если лицензий не хватает, подключайте только оплаченное число сеансов или рассмотрите облачный вариант.

Как проверить, что лицензия подхватилась

Откройте консоль кластера и посмотрите на список сеансов и информацию о лицензиях. Если пользователь получает сообщение «Не обнаружено свободной лицензии», сначала проверьте, не висят ли «мёртвые» сеансы, занявшие место.

Частые проблемы и как их решать

Ниже — симптомы, которые встречаются чаще всего, и с чего начинать диагностику.

Диагностика: выберите симптом

Если не помогло

Включите технологический журнал для проблемного сеанса и разберите, какие события занимают время. Если вы не специалист по СУБД и платформе, привлеките администратора на разовую диагностику: час работы специалиста обычно дешевле суток простоя бухгалтерии.

Частые вопросы

Сколько пользователей выдержит файловая база, прежде чем переходить на сервер?
Ориентир — 5–10 одновременных пользователей. Если база растёт, документы проводятся долго, а отчёты формируются минутами, переход оправдан и при меньшем числе людей.
Можно ли поставить сервер 1С и PostgreSQL на один компьютер?
Да, для небольших баз это нормальная схема. Следите за памятью: СУБД и рабочие процессы 1С будут делить её между собой.
Нужен ли отдельный администратор для клиент-серверной базы?
Нужен кто-то, кто отвечает за СУБД, резервные копии и обновления. Это может быть сотрудник или внешний специалист по договору.
Платформа сервера и клиента должны быть одной версии?
По основному релизу — да. Клиент с другой версией платформы не сможет работать с сервером, обычно появляется сообщение о несовпадении версий.
Как перевести файловую базу на сервер?
Выгрузите информационную базу в файл через конфигуратор, создайте пустую базу на сервере и загрузите выгрузку. Перед этим сделайте копию исходной базы и проверьте, что хватает места на диске.