← На главную
Перевод базы данных 1С с файлового режима на клиент-серверный вариант (клиент-серверная архитектура) — стандартный этап масштабирования информационной системы. При числе активных пользователей свыше 50 человек неизбежно встает вопрос выбора СУБД: можно ли сэкономить и развернуть бесплатную редакцию MS SQL Server Express, имеет ли смысл приобретать коммерческий MS SQL Server Standard или лучше использовать свободно распространяемый PostgreSQL. Разберем технические ограничения, нюансы лицензирования и архитектурные требования для каждого сценария.
Почему MS SQL Server Express не подходит для 50 пользователей
Редакция Express предназначена исключительно для разработки, тестирования или микро-баз с минимальной нагрузкой (1–3 пользователя). Попытка запустить на ней рабочую базу 1С для 50+ пользователей приведет к полной остановке работы системы. Проанализируем ключевые жесткие ограничения редакции Express:
- Лимит на размер базы данных: максимальный размер одного файла базы данных составляет 10 ГБ. Для современных конфигураций 1С с 50 активными пользователями данный порог достигается за считанные месяцы или даже недели, после чего база переходит в состояние ошибки и блокирует любую запись.
- Ограничение по оперативной памяти (Buffer Pool): движок Express использует не более 1410 МБ (около 1.4 ГБ) оперативной памяти на экземпляр под кэш страниц данных. При одновременной работе 50 человек этого объема критически не хватает, из-за чего сервер начинает непрерывно считывать данные с дисковой подсистемы, вызывая колоссальные задержки.
- Ограничение процессорных мощностей: СУБД может задействовать не более 1 сокета или 4 процессорных ядер (берется меньшее значение), что исключает параллельную эффективную обработку запросов от десятков сессий.
- Отсутствие службы SQL Server Agent: в Express-версии нет встроенного агента заданий. Вы не сможете использовать штатные планы обслуживания (
Maintenance Plans) для регулярного резервного копирования, дефрагментации/реиндексации таблиц и обновления статистик — все эти операции придется вручную организовывать через скрипты и Планировщик заданий ОС.
Таким образом, использование MS SQL Server Express на нагрузке в 50 пользователей технически невозможно.
Вариант 1: MS SQL Server Standard (включая Runtime для 1С)
Классический и наиболее стабильный вариант для платформы 1С:Предприятие. Данная СУБД обеспечивает предсказуемую производительность, проста в администрировании и обладает развитыми средствами автоматического обслуживания.
Рассмотрим особенности лицензирования и выбора редакции:
- Модели лицензирования:
— Server + CAL: покупается лицензия на сам сервер плюс клиентские лицензии доступа (CAL) на каждого пользователя или устройство. Важно помнить: даже если кластер серверов 1С подключается к СУБД под одной учетной записью, правила лицензирования Microsoft требуют наличия CAL на каждого конечного пользователя, работающего в 1С.
— Per Core (по ядрам): лицензируются все физические ядра сервера (минимум 4 ядра на процессор). Клиентские лицензии при этом не требуются, число подключений не ограничено.
- Лицензии MS SQL Server Runtime для 1С: если приобрести лицензии через партнеров 1С со специальным статусом Runtime, стоимость оказывается примерно в два раза ниже стандартных лицензий Full Use. Единственное ограничение Runtime — СУБД разрешено использовать исключительно для работы с базами 1С:Предприятие.
- Аппаратные лимиты Standard: редакция Standard поддерживает до 128 ГБ ОЗУ на экземпляр и до 24 ядер (или 4 сокетов), что с большим запасом закрывает потребности базы на 50–150 пользователей.
Вариант 2: Использование PostgreSQL (Postgre)
PostgreSQL — основная бесплатная альтернатива MS SQL. Однако успешное внедрение требует более высокой квалификации системного администратора и четкого соблюдения технологических требований.
Проанализируем ключевые моменты эксплуатации PostgreSQL под 1С:
- Выбор операционной системы: PostgreSQL настоятельно рекомендуется разворачивать на Linux (Ubuntu Server, Debian, Rocky Linux, Astra Linux, РЕД ОС). Архитектура PostgreSQL исторически спроектирована под POSIX-совместимые ОС и механизмы разделяемой памяти (Shared Memory). На ОС Windows при высокой нагрузке проявляются проблемы с файловой подсистемой и вызовами синхронизации, что приводит к деградации производительности.
- Специализированная сборка: для работы с 1С нельзя использовать ванильный PostgreSQL без патчей. Необходимо устанавливать дистрибутивы со страницы обновлений 1С или специализированные сборки от Postgres Professional, содержащие адаптации для корректной сортировки, работы с датами и оптимизации временных таблиц.
- Специфика оптимизатора и расширения: платформа 1С активно использует динамические временные таблицы. Чтобы планировщик СУБД не строил неоптимальные планы, применяются расширения
online_analyze и plantuner, рассчитывающие статистику временных объектов на лету.
- Настройка фоновой очистки (Autovacuum): архитектура версионности PostgreSQL (MVCC) создает новые версии строк при любых изменениях. Для предотвращения разрастания «мертвых» строк (bloat) в конфигурационном файле
postgresql.conf необходимо агрессивно скорректировать параметры:
— снизить autovacuum_vacuum_scale_factor (например, до 0.05);
— снизить autovacuum_analyze_scale_factor (до 0.02);
— увеличить autovacuum_max_workers и лимит стоимости autovacuum_vacuum_cost_limit.
- Управление блокировками: на старых конфигурациях 1С (работавших в режиме автоматических блокировок) версионные СУБД могли блокировать таблицы целиком при неоперативном проведении документов. На современных типовых конфигурациях в режиме «Управляемый» (Managed locks) данная проблема отсутствует.
Другие поддерживаемые СУБД
Помимо MS SQL Server и PostgreSQL, серверная платформа 1С:Предприятие 8 на уровне платформенного ядра официально поддерживает работу с Oracle Database и IBM Db2. Однако эти СУБД являются тяжелыми коммерческими решениями enterprise-уровня и в сегменте 50 пользователей экономически и технически применяются крайне редко.
Архитектурные рекомендации при проектировании сервера на 50+ пользователей
Чтобы гарантировать высокое быстродействие системы вне зависимости от выбранной СУБД, разберем базовые требования к серверной инфраструктуре:
- Разделение ролей серверов: для 50 активных пользователей кластер 1С (процессы
rphost, rmngr) и сервер базы данных (MS SQL или PostgreSQL) крайне желательно физически или виртуально разнести на разные машины, чтобы они не конкурировали за оперативную память и процессорное время.
- Оптимизация дисковой подсистемы: файлы журналов транзакций (лог
LDF у MS SQL или pg_wal у PostgreSQL), а также временные базы данных (tempdb у MS SQL) должны располагаться на отдельных быстрых SSD/NVMe накопителях, изолированно от основных файлов данных.
- Режим блокировок: убедимся в конфигураторе, что в свойствах конфигурации режим управления блокировкой данных установлен в значение
Управляемый.
Итог: для 50 пользователей редакция Express неприменима. Если бюджет позволяет и требуется быстрый запуск с минимальными затратами на администрирование — выбираем MS SQL Server Standard Runtime. Если приоритетом является экономия на лицензиях и в штате есть специалисты по Linux — разворачиваем PostgreSQL на базе Linux со специализированными патчами 1С.