Клиент-серверная 1С: из чего состоит сервер и когда без него не обойтись
Содержание
Сервер 1С — это отдельная программа «Сервер 1С:Предприятия», которая выполняет код конфигурации и работает с базой данных вместо компьютеров пользователей. Данные при этом хранятся не в файле 1Cv8.1CD, а в СУБД: Microsoft SQL Server или PostgreSQL. Пользователь на своём компьютере держит только тонкий клиент, а расчёты, проведение и отчёты идут на сервере.
Нужен он, когда в базе одновременно работают больше 10–15 человек, база выросла за 10–20 ГБ, или файловый вариант начал «висеть» на блокировках. Для бухгалтерии из трёх человек сервер чаще избыточен: файловая база справится, а лицензия и обслуживание стоят заметных денег.
Сервер 1С и файловая база: в чём разница
В файловом варианте каждый компьютер сам открывает файл базы по сети и сам всё считает. Чем больше людей, тем больше сеть гоняет данные, и тем чаще они ждут друг друга. Блокировки там табличные: один человек проводит документ — другие стоят.
В клиент-серверном варианте всё иначе:
- 🖥️ код конфигурации выполняется на сервере, клиенту уходит готовый результат;
- 🗄️ данные лежат в СУБД, она умеет блокировать отдельные записи, а не целые таблицы;
- 🔐 доступ к файлам базы у пользователей не нужен, их нельзя случайно скопировать или удалить;
- 📈 можно добавить рабочие процессы и серверы, когда нагрузка растёт.
| Признак | Файловая база | Клиент-серверная |
|---|---|---|
| Где хранятся данные | Файл 1Cv8.1CD в папке | База в СУБД |
| Где выполняется код | На компьютере пользователя | На сервере 1С |
| Комфортно пользователей | До 5–10 | Десятки и сотни |
| Нужна лицензия на сервер | Нет | Да |
| Резервное копирование | Копия папки или выгрузка .dt | Средствами СУБД |
| Сложность администрирования | Минимальная | Нужен человек, который понимает СУБД и кластер |
Конфигурация в обоих вариантах одна и та же. Перенести базу из файлового режима на сервер можно через выгрузку и загрузку .dt без доработок кода.
Какие бывают серверы 1С и что выбрать
Сама программа одна, различается лицензия, которая разрешает её запуск. Без лицензии сервер базу не обслужит.
Сервер МИНИ. Вариант на 5 подключений для небольших компаний. Ограничение по числу сеансов жёсткое, поэтому брать его стоит только если рост штата не ожидается.
Сервер ПРОФ. Стандартный выбор для малого и среднего бизнеса. Количество пользователей ограничено только клиентскими лицензиями и мощностью железа.
Сервер КОРП. Добавляет механизмы для крупных внедрений: расширенные настройки отказоустойчивости кластера, балансировку нагрузки и управление ресурсами. Нужен, когда простой базы на час стоит дороже самой лицензии.
Ориентиры по цене у партнёров: МИНИ — примерно десятки тысяч рублей, ПРОФ — порядка ста тысяч, КОРП — в несколько раз дороже ПРОФ. Точную цену дадут у партнёра, она меняется.
Лицензия на сервер не заменяет клиентские. Каждому одновременно работающему пользователю всё равно нужна клиентская лицензия.
СУБД выбирают отдельно:
- PostgreSQL — бесплатная, ставится и на Linux, и на Windows. Использовать нужно сборку с патчами для 1С (дистрибутив от фирмы 1С или Postgres Pro), обычный PostgreSQL с 1С работает хуже.
- Microsoft SQL Server — платная лицензия, привычна администраторам Windows. Есть бесплатная редакция Express, но у неё лимиты на размер базы и память, для рабочей 1С она быстро станет тесной.
- IBM Db2 и Oracle — поддерживаются платформой, в малом бизнесе почти не встречаются.
Как устроен сервер 1С изнутри
Сервер — это кластер из нескольких процессов. Даже если у вас одна машина, кластер всё равно есть, просто в нём один рабочий сервер.
- ragent — агент сервера. Работает как служба, слушает порт
1540. Клиент и консоль администрирования сначала обращаются к нему. - rmngr — менеджер кластера, порт
1541. Хранит список баз, сеансов, блокировок и настройки кластера. - rphost — рабочие процессы. Именно они выполняют код конфигурации и ходят в СУБД. Порты берутся из диапазона, по умолчанию
1560–1591; диапазон задаётся в свойствах рабочего сервера. - ras — сервер администрирования. Нужен, чтобы управлять кластером из командной строки через
racили из сторонних консолей.
Путь запроса выглядит так: тонкий клиент → агент (1540) → менеджер кластера (1541) → рабочий процесс из диапазона → СУБД. Поэтому при настройке брандмауэра открывают все три группы портов, а не только 1540.
Каталог служебных данных кластера по умолчанию на Windows — C:\Program Files\1cv8\srvinfo. Внутри лежит папка reg_1541 со списком баз и кэшем сеансовых данных.
Параметры отказоустойчивости и требования назначения функциональности задают в свойствах рабочего сервера, а не кластера. Если ищете их в свойствах кластера — не найдёте.
Требования к железу и программам
Точного калькулятора нет: всё зависит от конфигурации и привычек пользователей. Ориентиры для ERP и УТ выше, для БП и ЗУП ниже.
| Пользователей одновременно | Процессор | Память (сервер 1С + СУБД на одной машине) | Диск |
|---|---|---|---|
| до 10 | 4 ядра | 16 ГБ | SSD |
| 10–30 | 6–8 ядер | 32 ГБ | NVMe SSD |
| 30–80 | 12–16 ядер | 64 ГБ | NVMe, база и журналы СУБД на разных дисках |
| больше 80 | разнести 1С и СУБД на разные машины | от 64 ГБ на каждую | NVMe |
Что важнее всего:
- ⚡ частота ядра. Код 1С внутри одного вызова выполняется в один поток, поэтому 8 быстрых ядер полезнее 32 медленных;
- 💾 диск под СУБД. На HDD сервер 1С не спасёт;
- 🧠 память под СУБД. Чем больше база помещается в кэш, тем быстрее отчёты.
Операционная система: Windows Server 2016 и новее или Linux (Debian, Ubuntu, РЕД ОС, Astra Linux и другие из списка поддерживаемых). Версия сервера 1С должна совпадать с версией платформы на клиентах до последней цифры: клиент 8.3.24.1548 не подключится к серверу 8.3.24.1467.
Установка и первичная настройка
Порядок на Windows. На Linux шаги те же по смыслу, только ставятся пакеты, а служба управляется через systemctl.
1. Поставить СУБД
Установите PostgreSQL для 1С или MS SQL Server. Задайте пароль пользователя postgres или sa, проверьте, что служба СУБД запущена.
2. Поставить сервер 1С
- Запустите установщик платформы, в списке компонентов отметьте «Сервер 1С:Предприятия» и «Модули расширения веб-сервера», если планируете веб-доступ.
- Отметьте установку сервера как службы Windows. Установщик предложит пользователя
USR1CV8— можно оставить его или указать доменную учётную запись. - После установки проверьте службу «Агент сервера 1С:Предприятия 8.3» в оснастке «Службы»: она должна быть в состоянии «Выполняется».
3. Подключить консоль администрирования
Консоль — оснастка MMC «Администрирование серверов 1С Предприятия». Если она пишет, что не может создать объект, зарегистрируйте библиотеку от имени администратора:
regsvr32 "C:\Program Files\1cv8\8.3.24.1548\bin\radmin.dll"
Номер версии в пути подставьте свой. Регистрировать нужно ту же версию, что и у сервера, иначе консоль не увидит кластер.
4. Получить лицензию на сервер
Программная лицензия активируется на сервере, аппаратный ключ вставляют в USB-порт сервера. Без неё рабочий процесс не обслужит подключения пользователей.
5. Создать базу
В консоли раскройте кластер, на ветке «Информационные базы» выберите «Создать → Информационная база». Заполните:
- имя базы в кластере — его пользователи укажут при подключении;
- тип СУБД, адрес сервера СУБД, имя базы данных, пользователь и пароль СУБД;
- флажок «Создать базу данных в случае её отсутствия»;
- флажок «Установить блокировку регламентных заданий» — если база будет копией для тестов.
Затем загрузите в пустую базу .dt или конфигурацию через Конфигуратор.
6. Подключить пользователей
В окне запуска 1С: «Добавить → Добавление в список существующей информационной базы → На сервере 1С:Предприятия». Кластер серверов — имя компьютера сервера, имя базы — как в консоли.
Обслуживание: копии, обновления, контроль нагрузки
Резервные копии
Основной способ — средствами СУБД: план обслуживания в SQL Server или pg_dump для PostgreSQL по расписанию. Это быстро и не мешает работе пользователей.
Выгрузка .dt из Конфигуратора удобна для переноса базы, но на большой базе идёт долго. Как единственный способ резервирования её не используйте.
Копия, которую ни разу не восстанавливали, — не копия. Раз в месяц разворачивайте её в тестовую базу и открывайте.
Обслуживание СУБД
Раз в неделю ночью: обновление статистики и реиндексация в SQL Server, VACUUM ANALYZE в PostgreSQL. Без этого запросы со временем замедляются, а 1С тут ни при чём.
Обновление платформы
- Выберите окно, когда никто не работает : пользователям нужно выйти из базы.
- Установите новую версию сервера рядом со старой, остановите службу старой версии и запустите новую.
- Обновите платформу на клиентах или настройте автоматическое обновление клиента с сервера.
Старую версию не удаляйте сразу: если что-то пошло не так, откатиться можно, просто запустив её службу.
Контроль нагрузки
- в консоли смотрите сеансы, соединения и блокировки по каждой базе;
- для поиска медленных мест включают технологический журнал через файл
logcfg.xmlв каталогеconfплатформы; - из командной строки список кластеров и сеансов даёт
rac cluster listиrac session list, при запущенномras. Остальные команды смотрите вrac help.
Типичные проблемы с сервером 1С
Остановка службы агента, завершение процесса rphost или перезагрузка сервера обрывают работу всех пользователей. Несохранённые документы пропадут. Предупредите людей заранее и делайте это вечером или в выходной.
Ещё одна ловушка — антивирус. Если он проверяет каталог srvinfo и файлы СУБД на лету, сервер заметно замедляется. Добавьте эти каталоги в исключения.
Частые вопросы
Можно ли поставить сервер 1С на обычный компьютер, а не на серверное железо?
Сервер 1С и терминальный сервер — это одно и то же?
Можно ли держать на одном сервере несколько баз?
Нужен ли сервер 1С для работы через интернет?
Можно ли вернуться с сервера на файловую базу?
.dt из серверной базы и загрузите в новую файловую. Конфигурация и данные перенесутся полностью.