При проектировании высоконагруженных информационных систем перед специалистами часто возникает вопрос о технологических пределах платформы 1С:Предприятие 8. Рассмотрим сценарий, при котором необходимо обеспечить одновременную работу 1500 активных пользователей, ежедневно создающих около 15 000 и просматривающих порядка 234 000 документов. Проанализируем технические возможности платформы, возможные риски типовых конфигураций, а также разберем по шагам правильную серверную архитектуру для обеспечения высокой производительности и отказоустойчивости.
Выясним главный вопрос: потянет ли платформа 1С подобную нагрузку? Ответ — да, платформенных ограничений для 1500 пользователей нет. В мировой практике существуют внедрения 1С на 3000–5000 и более одновременных сеансов. Однако производительность системы определяется не только платформой, но и архитектурой выбранной конфигурации.
Проанализируем потенциальное узкое место проекта — использование типовых конфигураций фискального учета, таких как Бухгалтерия для Казахстана или Бухгалтерия предприятия. При интенсивном оперативном вводе данных 1500 пользователями возникают следующие проблемы:
РегистрБухгалтерии (в частности, таблица итогов хозрасчетного регистра) рассчитан на регламентированный учет, а не на высокую транзакционную оперативную нагрузку (OLTP). При одновременной записи сотен пользователей возникают системные ожидания на блокировках.Для решения этих рисков проанализируем оптимальный архитектурный подход — двухконтурную схему:
Оперативную работу пользователей (оформление первичных документов, продажи, закупки) необходимо перенести в специализированную оперативную систему (например, 1С:ERP или 1С:Управление торговлей). Контур регламентированного учета (1C:Бухгалтерия) изолируется и заполняется асинхронно через службы интеграции или брокеры сообщений (RabbitMQ, Kafka), где документы создаются сводными пакетами в фоновом режиме.
Для высоконагруженных систем выбор СУБД имеет решающее значение. Проанализируем настройки базы данных на примере Microsoft SQL Server:
Read Committed Snapshot Isolation. Это исключает блокировки таблиц при чтении данных (формировании отчетов), позволяя операциям записи и чтения не мешать друг другу.Настроить режим RCSI для базы данных можно выполнением следующего SQL-скрипта:
ALTER DATABASE [Имя_Базы_1С] SET SINGLE_USER WITH ROLLBACK IMMEDIATE;
ALTER DATABASE [Имя_Базы_1С] SET READ_COMMITTED_SNAPSHOT ON;
ALTER DATABASE [Имя_Базы_1С] SET MULTI_USER;
Max Degree of Parallelism на уровне экземпляра SQL Server следует ограничить значениями 1, 2 или 4. Это предотвратит создание взаимных блокировок (Deadlocks) при параллельном выполнении сложных запросов платформы 1С.TempDB активно используется 1С для промежуточных вычислений и временных таблиц. Необходима разметка `TempDB` на 8–16 файлов данных одинакового размера с размещением на быстрейших накопителях (NVMe SSD).Max Server Memory, оставив 10–20% физической ОЗУ сервера под нужды операционной системы и сторонних служб.Для обеспечения работы 1500 сеансов требуется использование лицензий уровня 1С:Предприятие КОРП. Проф-лицензии не содержат механизмов, необходимых для систем подобного масштаба.
Преимущества КОРП-лицензий для крупного кластера:
rphost.rphost, и их безопасный автоматический перезапуск без обрыва сеансов пользователей.При организации кластера 1С рекомендуется разделить физические серверы по назначению и не огранивать систему одним монолитным рабочим процессом rphost. Распределим роли внутри кластера:
Выделяются минимум два центральных сервера с менеджерами кластера rmngr для обеспечения отказоустойчивости (Failover). Рабочие процессы rphost распределяются по рабочим узлам с расчетом около 150–200 сеансов на один процесс `rphost` для предотвращения критических падений при утечках памяти.
Разберем конфигурацию физического/виртуального оборудования. Категорически не рекомендуется совмещать Сервер 1С и Сервер СУБД на одной физической машине при нагрузке свыше 200–300 пользователей.
Рекомендуемая физическая схема:
Перед запуском системы в опытно-промышленную эксплуатацию обязательным этапом является проведение нагрузочного тестирования. Рассчитать точные параметры железа «на бумаге» невозможно, так как характер нагрузки зависит от специфики кода и бизнес-процессов.
Сформулируем правила подготовки к запуску:
Тест-центр для эмуляции работы 1500 виртуальных пользователей. Сценарий тестирования должен повторять реальные действия операторов: проведение накладных, просмотр списков, формирование отчетов.Центр контроля производительности (ЦКП) позволяет находить долгие SQL-запросы, эскалации блокировок и некорректные алгоритмы в коде конфигурации до запуска системы в продакшн.Таким образом, реализовать крупный проект на 1С:Предприятие 8 для 1500 пользователей абсолютно реально. Успех проекта зависит от корректного проектирования архитектуры, выделения СУБД на отдельное железо, использования КОРП-платформы и глубокой оптимизации конфигурации под высокую транзакционную нагрузку.