← На главную
При росте информационной базы 1С до значительных объемов (в нашем случае — 200 Гб в формате MDF) и увеличении числа одновременно работающих пользователей до 60–70 человек, стандартные подходы к выбору серверного оборудования перестают работать. Ситуация, когда сервер с конфигурацией «128 Гб ОЗУ и 12 ядер по 3.5 ГГц» начинает подтормаживать, достаточно распространена. Это связано с тем, что производительность систем на платформе «1С:Предприятие» зависит не столько от общего количества ядер процессора, сколько от их индивидуальной архитектурной скорости, пропускной способности памяти, дисковой подсистемы и тонких настроек СУБД.
В этой статье мы подробно разберем, как правильно подобрать серверное железо, на какие критические параметры обратить внимание и какие программные настройки СУБД SQL Server необходимо выполнить, чтобы избавиться от зависаний и обеспечить комфортную работу пользователей.
Шаг 1: Разбираемся с характером нагрузки и объемом базы данных
Прежде чем переходить к покупке оборудования, проанализируем вводные данные. Объем базы в 200 Гб MDF означает, что речь идет о реальном размере файлов базы данных на SQL-сервере. Если бы этот объем занимал резервный файл выгрузки (.dt), то в распакованном виде база могла бы достигать 1 Тб и более, что потребовало бы совершенно иного класса оборудования. С базой MDF объемом 200 Гб вполне можно работать на одном производительном двухпроцессорном или даже мощном однопроцессорном сервере, если правильно распределить ресурсы.
При совместном размещении сервера приложений «1С:Предприятие» и СУБД (MS SQL Server или PostgreSQL) на одном физическом сервере возникает жесткая конкуренция за ресурсы. Рассмотрим подробнее требования к каждому компоненту серверной архитектуры.
Шаг 2: Выбор процессора (CPU) — приоритет однопоточной производительности
Для платформы «1С:Предприятие» критически важна производительность процессора на одно ядро (Single-Core Performance). Это связано с особенностями архитектуры платформы: большинство бизнес-процессов, расчетов (например, проведение документов, расчет себестоимости, амортизации) выполняются в один поток. Если ядро процессора работает медленно, то даже при наличии 64 свободных ядер система будет «тормозить».
Рекомендации по выбору процессора:
- Тактовая частота: Выбирайте процессоры с максимально высокой базовой частотой. Современным стандартом для нагруженных баз 1С являются процессоры с базовой частотой от 3.7–4.0 ГГц и выше (в режиме Turbo Boost до 4.5–5.0 ГГц). Высокоядерные серверные процессоры с низкой частотой (например, 2.0–2.4 ГГц) для 1С не подходят.
- Модели процессоров: Обратите внимание на линейки Intel Xeon Gold (например, высокочастотные серии 6254, 6346) или процессоры AMD EPYC последних поколений с индексом "F" (высокочастотные, например, серии 7xx3F или 9xx4F).
- Оптимизация BIOS: На новом сервере обязательно зайдите в настройки BIOS и отключите все функции энергосбережения (C-States, Intel SpeedStep, AMD Cool'n'Quiet). Установите режим электропитания в положение Maximum Performance (Максимальная производительность). Это исключит микросекундные задержки, возникающие при динамическом изменении частоты ядер процессора, к которым платформа 1С крайне чувствительна.
Шаг 3: Расчет оперативной памяти (RAM)
Объем оперативной памяти в 128 Гб для СУБД и сервера приложений 1С при размере базы 200 Гб является пограничным. В такой конфигурации SQL-сервер не может полностью кэшировать базу данных в ОЗУ, что вынуждает его постоянно обращаться к дисковой подсистеме для чтения таблиц. Это резко снижает общую скорость работы.
Рекомендации по оперативной памяти:
- Целевой объем: Для базы 200 Гб оптимальным объемом ОЗУ будет 256 Гб. Это позволит выделить около 180–200 Гб под кэш SQL-сервера (чтобы наиболее активные таблицы полностью находились в оперативной памяти), а оставшиеся 56–76 Гб распределить между операционной системой и рабочими процессами сервера 1С (
rphost).
- Многоканальный режим: Память должна быть установлена строго в соответствии со спецификацией процессора для обеспечения максимальной пропускной способности шины памяти. Заполняйте все каналы памяти одинаковыми модулями (например, 8 планок по 32 Гб для 8-канальной архитектуры современных процессоров).
Шаг 4: Дисковая подсистема — устраняем очереди чтения/записи
Использование обычных SATA SSD накопителей в серверных системах под нагрузкой 60–70 пользователей часто приводит к возникновению очередей к дискам. Нам необходимы накопители корпоративного класса с высоким ресурсом перезаписи (DWPD) и низкими задержками.
Рекомендации по дискам:
- Интерфейс NVMe: Откажитесь от SATA SSD в пользу серверных NVMe накопителей (например, Intel/Solidigm P-серии, Samsung PM-серии). Они обеспечивают пропускную способность в разы выше и имеют на порядок меньшие задержки (latency) при случайном чтении/записи.
- RAID-массивы: Для обеспечения отказоустойчивости и скорости используйте аппаратный RAID-контроллер с кэш-памятью и батарейкой (BBU/Supercap) для создания массива RAID 10. В качестве альтернативы можно рассмотреть современные программные решения (например, ZFS на Linux или Storage Spaces Direct на Windows Server), если их администрирование вам знакомо.
- Разделение дисковых ресурсов: Распределите файлы системы по разным физическим накопителям или разным RAID-массивам:
- Массив 1 (системный): Операционная система + файлы логов транзакций SQL (
.ldf).
- Массив 2 (быстрый NVMe): Файлы базы данных (
.mdf).
- Массив 3 (максимально быстрый NVMe): База временных таблиц
TempDB. Это критически важно, так как 1С активно использует временные таблицы для построения сложных отчетов и запросов.
Шаг 5: Тонкая настройка SQL Server для совместной работы с 1С
Даже самое мощное железо не покажет высокой производительности без правильной программной настройки СУБД. Выполним ключевые оптимизации для MS SQL Server:
- Ограничение максимальной памяти (Max Server Memory): По умолчанию SQL Server стремится занять всю доступную оперативную память. Обязательно установите жесткий лимит. Если на сервере 256 Гб ОЗУ, выделите SQL-серверу максимум 190 Гб, оставив ресурсы под процессы 1С и ОС.
- Параметр MAXDOP (Max Degree of Parallelism): Для корректной работы 1С рекомендуется ограничить параллелизм выполнения запросов. Установите значение
MAXDOP = 1 (в некоторых случаях допускается 2 или 4, но начать стоит именно с 1, чтобы избежать накопления ожиданий типа CXPACKET).
- Протокол Shared Memory: Так как сервер приложений 1С и SQL Server установлены на одной физической машине, обязательно настройте подключение к СУБД через протокол Shared Memory (Общая память) вместо сетевого протокола TCP/IP. Это позволит процессу 1С обмениваться данными с SQL напрямую через оперативную память минуя сетевой стек, что ускорит вызовы в разы.
- Оптимизация TempDB: Создайте несколько файлов базы данных
TempDB равного объема. Количество файлов должно быть равно количеству физических ядер процессора (но не более 8 файлов, чтобы избежать избыточных накладных расходов на их координацию).
Шаг 6: Сетевая инфраструктура и виртуализация
Если пользователи работают с базой данных в режиме «тонкого клиента» по локальной сети, узким местом может стать сетевая карта сервера.
Рекомендации по сетевым настройкам:
- При возможности подключите сервер к коммутатору через интерфейс 10 Gbps. Это исключит задержки при передаче больших объемов данных клиентам во время формирования тяжелых отчетов.
- Если сервер развернут внутри среды виртуализации (VMware vSphere, Microsoft Hyper-V), обязательно настройте Reservation (резервирование) по оперативной памяти и процессору на 100%. Виртуальная машина с 1С не должна делить физические ресурсы с другими виртуальными машинами в режиме "overcommit".
- Следите за архитектурой NUMA. Конфигурация виртуальной машины (количество ядер и объем выделенной ОЗУ) не должна пересекать границы одного физического процессора (NUMA-узла), иначе возникнут серьезные задержки при обращении процессора к памяти другого сокета.
Шаг 7: Практическое тестирование в облаке
Прежде чем инвестировать крупные суммы в покупку физического оборудования, отличным решением будет предварительное моделирование нагрузки в облачной инфраструктуре. Рассмотрим этот процесс пошагово:
- Возьмите в аренду у облачного провайдера виртуальный сервер с высокочастотными процессорами (от 3.7 ГГц) и быстрым NVMe диском в тестовый период.
- Разверните резервную копию вашей базы данных объемом 200 Гб.
- Запустите тестовую сессию с имитацией работы ключевых пользователей (или попросите фокус-группу из 5–10 наиболее активных бухгалтеров и менеджеров выполнить типовые операции в облачной базе).
- Проанализируйте показатели производительности с помощью встроенного в 1С инструмента «Оценка производительности» (APDEX) или встроенных средств мониторинга СУБД. Это позволит вам точно определить, какая конфигурация процессора и дисков решает проблему тормозов в вашем конкретном случае.
Сочетание правильного выбора высокочастотного процессора, расширения объема оперативной памяти до 256 Гб, перехода на промышленные NVMe накопители и базовой настройки параметров СУБД гарантирует стабильную и быструю работу вашей базы 1С при нагрузке до 70 активных пользователей.