При росте числа пользователей и объема информационной базы перед системными администраторами встает вопрос оптимизации работы системы. Рассмотрим распространенную ситуацию: организация использует конфигурацию «1С:Бухгалтерия предприятия 8.3» объемом около 8 ГБ в файловом режиме. В базе одновременно работают до 30 пользователей через терминальный доступ (RDP). Выясним, почему такое решение становится нестабильным, в чем преимущества перехода на клиент-серверный режим с СУБД PostgreSQL и как правильно выполнить эту миграцию.
Разберем основные риски и ограничения, с которыми сталкивается организация при использовании файловой базы большим числом сотрудников:
1Cv8.1CD, а к каждой отдельной таблице внутри информационной базы. Начиная с платформы 8.3.8, при реструктуризации базы можно задать размер страницы внутреннего формата до 64 КБ, что расширяет предел для одной таблицы до 64 ГБ. Однако это не решает архитектурных проблем.1Cv8.1CD. На восстановление базы с помощью утилиты chdbfl.exe уходит значительное время.Рассмотрим варианты выбора системы управления базами данных (СУБД):
Бесплатная версия MS SQL Server Express имеет жесткие технологические ограничения: максимальный объем одной базы данных составляет 10 ГБ, используется не более 1 сокета (или 4 ядер) процессора и не более 1410 МБ оперативной памяти под буферный кэш. Для информационной базы размером 8 ГБ с 30 активными пользователями лимит памяти и дискового объема будет исчерпан в кратчайшие сроки, что вызовет сильное падение производительности.
СУБД PostgreSQL не имеет искусственных ограничений по размеру базы или выделяемой оперативной памяти и распространяется бесплатно. Для работы с 1С критически важно использовать не стандартную дистрибутивную сборку, а специализированную сборку PostgreSQL с патчами под платформу «1С:Предприятие» (доступную на официальном портале 1С или у специализированных вендоров).
Проанализируем, какие программные продукты и лицензии понадобятся для построения клиент-серверной архитектуры:
rphost.exe ограничен 4 ГБ адресного пространства, что быстро приведет к ошибкам нехватки памяти (Out of Memory) при активной работе с тяжелыми отчетами в конфигурации «Бухгалтерия предприятия 3.0».Стандартные настройки PostgreSQL после установки рассчитаны на минимальное потребление ресурсов и не подходят для высокой нагрузки. Разберем ключевые параметры файла конфигурации postgresql.conf, которые необходимо скорректировать под физические ресурсы сервера:
shared_buffers — выделяет память для кэширования данных. Рекомендуется задавать в размере 25–30% от общего объема оперативной памяти сервера.effective_cache_size — подсказка планировщику запросов об объеме доступного дискового кэша. Устанавливается на уровне 50–75% от объема RAM.work_mem — объем памяти для операторов сортировки и группировки. Для 30 сеансов оптимальное значение составляет от 16MB до 64MB. Слишком высокое значение может вызвать дефицит RAM при одновременном выполнении сложного отчета несколькими пользователями.maintenance_work_mem — память для сервисных операций (индексация, VACUUM). Устанавливают в районе 512MB–1GB.temp_buffers — размер памяти под временные таблицы. Для 1С рекомендуется значение от 16MB до 32MB.synchronous_commit = off — отключение принудительного ожидания записи транзакции на диск значительно ускоряет операции записи в 1С (требуется наличие источника бесперебойного питания на сервере).autovacuum_vacuum_scale_factor = 0.05 и autovacuum_analyze_scale_factor = 0.02 — обеспечивают более частый запуск автовакуума и сбора статистики, что критично для корректного построения планов выполнения запросов платформой 1С.Посмотрим, какие дополнительные шаги помогут получить максимальную скорость работы после миграции:
rphost.Таким образом, миграция с файлового режима на клиент-серверную связку «1С:Предприятие 8.3 + PostgreSQL» устранит проблемы с блокировками таблиц, повысит отказоустойчивость системы и позволит 30 пользователям комфортно работать с информационной базой любого размера.