При проектировании инфраструктуры для работы с платформой 1С:Предприятие системные администраторы часто сталкиваются с вопросом оптимального распределения ролей между имеющимся оборудованием. Типичная дилемма — куда вынести службу 64-разрядного сервера 1С: на физическую машину с терминальным сервером (RDS) или совместить её на одном сервере с СУБД MS SQL Server.
В этой статье мы подробно проанализируем архитектурные особенности обоих вариантов, разберем влияние характеристик процессоров и оперативной памяти, а также рассмотрим порядок правильной настройки и переноса сервера 1С.
В большинстве сценариев работы совместное размещение службы сервера 1С и СУБД MS SQL Server на одной физической машине показывает значительно лучшую производительность, чем совмещение 1С с терминальным сервером.
Рассмотрим ключевые причины такого архитектурного решения:
Проанализируем требования к серверному оборудованию в зависимости от архитектуры 1С:
1. Однопоточная производительность процессора (Single-Thread Performance):
Платформа 1С критично относится к тактовой частоте процессора. Выполнение ключевых операций — проведение документов, закрытие месяца, формирование сложных отчетов — выполняется преимущественно в один поток. Процессоры с более высокой высокой тактовой частотой на одно ядро (например, линейка Xeon E3 / Xeon E-2000) обеспечивают более быстрый отклик 1С, чем многоядерные серверные процессоры с низкой базовой частотой (например, старые линейки Xeon E5500).
2. Влияние типа форм (Обычные или Управляемые):
Если решение принято в пользу совмещения сервера 1С и MS SQL на одной физической машине, необходимо выполнить ряд обязательных настроек, чтобы службы не блокировали ресурсы друг друга.
1. Ограничение оперативной памяти для MS SQL (Max Server Memory):
По умолчанию MS SQL Server стремится занять всю доступную в системе оперативную память. Обязательно установите жесткий лимит Max Server Memory в настройках SQL Server, оставив достаточный запас RAM под нужды ОС и рабочих процессов 1С (rphost). Если SQL заберет всю память, процессы 1С уйдут в файл подкачки (swapping), что приведет к катастрофическому падению скорости работы.
2. Включение протокола Shared Memory:
Чтобы задействовать протокол обмена через общую память, при настройке параметров подключения базы данных 1С к MS SQL в поле «Сервер БД» необходимо указывать localhost или точку .. Указание сетевого имени сервера или его IP-адреса может заставить систему работать через сетевой интерфейс Loopback, снижая скорость обмена.
3. Оптимизация параметров MS SQL для 1С:
MAXDOP = 1, чтобы исключить взаимные блокировки при параллельном выполнении запросов СУБД.MAXDOP задан больше 1, значение этого параметра следует увеличить с 5 до 50 и выше.TempDB (соразмерно числу ядер процессора, обычно до 8 файлов) с одинаковым размером и фиксированным шагом авторасширения.Perform Volume Maintenance Tasks (Обслуживание томов) в локальной политике безопасности Windows для быстрого создания и расширения файлов БД.4. Ограничения процессов rphost в кластере 1С:
В консоли администрирования кластера 1С укажите параметры перезапуска рабочих процессов (предельный объем выделенной памяти и критический объем памяти), чтобы не допустить утечек RAM при выполнении некорректных запросов пользователей.
Рассмотрим алгоритм быстрого перевода кластера 1С на сервер БД с минимальным простоем пользователей:
localhost) и соответствующие имена баз данных СУБД.ibases.v8vi достаточно изменить имя сервера 1С в строках подключения или централизованно распространить обновленный файл списка баз пользователям.