Для чего нужен сервер 1С и когда файловой базы уже мало
Содержание
Сервер 1С нужен, чтобы с одной базой одновременно и без тормозов работали десятки и сотни пользователей. Он берёт на себя выполнение кода конфигурации, блокировки и фоновые задания, а данные хранит в СУБД — MS SQL Server или PostgreSQL. В файловом варианте всё это делает каждый компьютер сам, читая общий файл 1Cv8.1CD по сети.
Пока в базе работают 3–5 человек, разница почти не видна. Когда пользователей становится 10–15, база растёт до десятков гигабайт, а закрытие месяца идёт по часу, сервер 1С становится не роскошью, а условием нормальной работы.
Файловая база и клиент-серверная: в чём разница
В файловом режиме база — это один файл на диске. Каждая рабочая станция открывает его через сетевую папку и сама выполняет запросы. Никакого «центра» нет: программа на ПК бухгалтера читает те же страницы файла, что и программа на ПК кладовщика.
В клиент-серверном режиме схема другая:
- 🖥️ пользователь запускает клиент 1С (тонкий или толстый);
- 🔗 клиент подключается к серверу 1С:Предприятия;
- ⚙️ сервер выполняет серверный код конфигурации и отправляет запросы в СУБД;
- 🗄️ СУБД хранит данные и возвращает результат.
По сети к клиенту идут уже готовые результаты, а не страницы файла базы.
| Параметр | Файловый вариант | Клиент-серверный вариант |
|---|---|---|
| Где хранятся данные | Файл 1Cv8.1CD в папке | База в СУБД (MS SQL, PostgreSQL и др.) |
| Кто выполняет запросы | Каждый клиентский ПК | Сервер 1С и сервер СУБД |
| Блокировки | Крупные, на уровне таблиц | На уровне записей (управляемый режим) |
| Регламентные задания | Выполняются в сеансе одного из клиентов | Выполняются сервером, без открытых клиентов |
| Резервное копирование | Копия файла или выгрузка .dt | Средства СУБД, в том числе по расписанию |
| Комфортное число пользователей | До 5–10 | Десятки и сотни |
| Стоимость | Только клиентские лицензии | Лицензия сервера, СУБД, отдельное железо |
Конфигурации одинаковые в обоих режимах. Бухгалтерия, ЗУП или УТ не переписываются под сервер: базу выгружают в .dt и загружают в новую базу на сервере.
Что делает сервер приложений 1С
Сервер 1С:Предприятия — это набор служб и процессов. Знать их нужно хотя бы по именам: с ними вы встретитесь в диспетчере задач и в логах.
- 🧭
ragent— агент сервера. Служба, к которой клиент обращается первой, по умолчанию на порту 1540. - 📋
rmngr— менеджер кластера, порт 1541. Ведёт список баз, сеансов, блокировок и регламентных заданий. - 🏭
rphost— рабочие процессы. В них и выполняется код конфигурации. Порты берутся из диапазона, по умолчанию 1560–1591; диапазон задаётся в свойствах рабочего сервера. - 🛠️
ras— сервер администрирования, порт 1545. Нужен утилитеracи сторонним консолям.
Что из этого получает бизнес на практике:
- Параллельная работа. Проведение накладной блокирует только нужные записи регистров, а не всю таблицу. Склад и бухгалтерия не ждут друг друга.
- Фоновые операции. Загрузка банковских выписок, обмены, обновление курсов и полнотекстовый индекс идут на сервере по расписанию, даже ночью, когда все клиенты закрыты.
- Нагрузка не на ПК пользователя. Отчёт по оборотам за год строит сервер. Офисный ноутбук 5-летней давности больше не узкое место.
- Надёжность данных. СУБД ведёт журнал транзакций. Сбой питания на одном клиенте не портит базу, как бывает с файлом
1Cv8.1CD. - Управление. Администратор видит в консоли кластера, кто в базе, какие сеансы висят, и может завершить зависший сеанс без похода к чужому компьютеру.
Завершение сеанса или рабочего процесса в консоли обрывает работу пользователя без сохранения. Делайте это только после предупреждения людей или в нерабочее время.
Какие серверы участвуют в работе 1С
Под словами «сервер 1С» часто понимают разные вещи. Чтобы правильно посчитать бюджет, их стоит развести.
| Роль | Зачем | Обязателен ли |
|---|---|---|
| Сервер 1С:Предприятия | Выполняет код, держит кластер | Да, для клиент-серверного режима |
| Сервер СУБД | Хранит данные базы | Да, для клиент-серверного режима |
| Терминальный сервер (RDP) | Удалённая работа филиалов через «тонкий канал» | Нет |
| Веб-сервер (IIS или Apache) | Веб-клиент, HTTP-сервисы, мобильные приложения, обмены через интернет | Нет |
| Файловый сервер | Хранит файловые базы и вложения | Только для файлового варианта |
Сервер 1С и СУБД на небольших внедрениях — до 30–50 пользователей — обычно ставят на одну машину. Так меньше сетевых задержек между ними. Дальше их разносят на разные серверы.
Терминальный сервер — не замена серверу 1С. Он решает задачу удалённого доступа, а не многопользовательской нагрузки. Если в терминале 20 человек работают с файловой базой, проблемы с блокировками никуда не денутся.
Когда пора переходить с файловой базы на сервер
Нет закона, который запрещал бы 15 пользователям сидеть в файловой базе. Но признаки перегрузки обычно видны заранее:
- 🐢 при одновременной работе 8–10 человек проведение документов и отчёты замедляются в разы;
- ⛔ пользователи регулярно видят сообщения о конфликте блокировок и ожидании;
- 📦 размер файла
1Cv8.1CDперевалил за 15–20 ГБ, тестирование и исправление идёт часами; - 🔁 обмены и загрузки нужно выполнять по ночам, а держать включённым ПК ради регламентных заданий неудобно;
- 💥 после отключения электричества база уже повреждалась;
- 🌍 появились филиалы, удалённые сотрудники, интеграция с сайтом или маркетплейсами через HTTP-сервисы.
Два-три совпадения из списка — серьёзный повод считать проект перехода.
Железо и системные требования сервера 1С
Точные требования зависят от конфигурации и сценариев работы. ERP с производством и УТ на 30 складских сотрудников нагружают сервер по-разному. Ниже — ориентиры для типовых БП, ЗУП и УТ.
| Одновременных пользователей | Процессор | ОЗУ | Диск |
|---|---|---|---|
| До 15 | 4 ядра с высокой частотой | 16 ГБ | SSD, от 256 ГБ |
| 15–50 | 8 ядер | 32–64 ГБ | NVMe SSD |
| 50–100 | 12–16 ядер | 64–128 ГБ | NVMe, отдельный диск под журналы СУБД |
| Более 100 | Отдельные серверы под 1С и СУБД | 128 ГБ и выше на СУБД | RAID из NVMe |
Цифры ориентировочные: под конкретную нагрузку замеряйте реальное потребление памяти и процессора после запуска.
Три правила, которые важнее таблицы:
- Частота ядра важнее их количества. Проведение одного документа выполняется в одном потоке. Процессор на 3,5–4 ГГц даст пользователю больше, чем 32 ядра по 2,1 ГГц.
- Диск — главный источник тормозов. На HDD сервер 1С с СУБД работает хуже, чем файловая база на SSD. Только SSD, лучше NVMe.
- Памяти должно хватать СУБД. MS SQL и PostgreSQL кэшируют данные в ОЗУ. Если база 40 ГБ, а памяти 16 ГБ, сервер будет постоянно читать с диска.
По операционной системе: сервер 1С работает на Windows Server и на Linux (Debian, Ubuntu, отечественные дистрибутивы вроде Astra Linux и РЕД ОС). Для Linux связка с PostgreSQL — самый частый выбор.
Версии клиента и сервера 1С должны совпадать до последней цифры. Тонкий клиент при подключении скачивает нужную версию сам, если это разрешено; толстый клиент и Конфигуратор на рабочих местах ставьте той же версии, что и сервер.
Лицензии и сколько стоит владение сервером
Сервер 1С требует отдельной серверной лицензии. Клиентские лицензии на пользователей покупаются дополнительно — они те же, что и в файловом режиме, их можно перенести.
Основные редакции серверной лицензии:
- 🟢 Мини — для небольших компаний, ограничение до 5 одновременных подключений;
- 🔵 ПРОФ x86-64 — основной вариант для малого и среднего бизнеса, ограничен 12 процессорными ядрами;
- 🟣 КОРП — для крупных внедрений: кластер из нескольких рабочих серверов, отказоустойчивость, расширенное управление нагрузкой.
Ориентировочный бюджет на 20 пользователей (цены примерные, проверяйте у партнёра перед покупкой):
| Статья | Ориентир |
|---|---|
| Серверная лицензия ПРОФ x86-64 | около 90–110 тыс. ₽ разово |
| Клиентские лицензии на 20 мест | около 100–120 тыс. ₽ разово (если ещё не куплены) |
| СУБД PostgreSQL | 0 ₽ (свободная сборка) |
| СУБД MS SQL Server | от сотен тысяч ₽, зависит от редакции и числа ядер |
| Физический сервер | 250–600 тыс. ₽ или аренда 15–40 тыс. ₽ в месяц |
| Администрирование | от 15–30 тыс. ₽ в месяц на аутсорсе |
Лицензия «Мини» стоит заметно дешевле ПРОФ — порядка 20–30 тыс. ₽. Она закрывает переходный этап для небольшого офиса.
Альтернатива покупке — аренда базы в облаке у партнёра 1С или сервис 1С:Фреш. Там сервер, лицензии и обслуживание входят в абонентскую плату за пользователя. Для компании до 10–15 человек это часто выгоднее собственного сервера.
Без лицензии сервер 1С базу не запустит. Нелегальные «эмуляторы» ключей — это риск штрафа и уголовной ответственности за нарушение авторских прав, а заодно риск потери данных. Используйте только официальные лицензии.
Ошибки при запуске и обслуживании сервера
Большая часть проблем с сервером 1С возникает не из-за самой платформы, а из-за окружения.
- 🧱 Закрыты порты. Брандмауэр пропускает 1540, но режет диапазон рабочих процессов. Клиент видит кластер, а подключиться к базе не может. Открывайте весь диапазон из свойств рабочего сервера.
- 🦠 Антивирус сканирует каталог кластера. Каталог
srvinfoи файлы данных СУБД постоянно меняются. Проверка «на лету» замедляет работу в разы. Добавьте их в исключения. - 🔢 Разные версии платформы. На сервер поставили обновление, а на рабочих местах осталась прежняя версия. Пользователи получают ошибку несовпадения версий.
- 🧠 Сервер и СУБД делят мало памяти. MS SQL по умолчанию забирает почти всю ОЗУ, и рабочим процессам 1С не остаётся места. Ограничьте максимальную память SQL Server так, чтобы 1С и ОС хватало хотя бы 8–16 ГБ.
- 💾 Нет плана обслуживания СУБД. Без регулярного обновления статистики и перестроения индексов база замедляется месяц за месяцем. Настройте это в планах обслуживания MS SQL или через
VACUUM ANALYZEв PostgreSQL. - 📁 Резервные копии только в
.dt. Выгрузка требует монопольного режима и долго идёт на большой базе. Основной способ — полные и разностные копии средствами СУБД,.dt— дополнительно. - 👤 Служба запущена не под той учётной записью. У пользователя службы (по умолчанию
USR1CV8) должны быть права на каталог кластера. После «наведения порядка» в правах сервер перестаёт стартовать.
Остановка службы агента сервера 1С или её перезапуск отключает всех пользователей всех баз кластера. Планируйте это на нерабочее время и предупреждайте сотрудников.
Проверить, что кластер жив и видит базы, можно утилитой rac при запущенной службе ras:
rac cluster list
rac session list --cluster=<id_кластера> --licenses
Если какой-то параметр утилиты вызывает сомнения, смотрите встроенную справку rac help.