Что на самом деле ускоряет сервер 1С: процессор, память, диски, кластер
Содержание
Для сервера 1С важнее всего три вещи: высокая частота процессора на одно ядро, быстрые диски под базу данных (NVMe SSD) и достаточный объём оперативной памяти, чтобы СУБД держала рабочие данные в кеше. Количество ядер и «серверность» железа идут следом.
Частая ошибка при выборе — купить двухпроцессорную машину на 64 ядра с частотой 2,1 ГГц и ждать, что 1С «полетит». Не полетит: проведение документа, закрытие месяца и расчёт зарплаты выполняются в основном в одном потоке. Сервер 1С с 8 ядрами по 4,5 ГГц нередко работает заметно быстрее такого монстра.
Как выбрать процессор для сервера 1С: частота против ядер
Один серверный вызов 1С (провести документ
, сформировать отчёт) обрабатывает рабочий процесс rphost, и внутри вызова код идёт последовательно. Поэтому время отклика пользователя упирается в скорость одного ядра.
Ядра нужны для другого — для параллельной работы многих пользователей и фоновых заданий. Каждый одновременный тяжёлый вызов занимает своё ядро.
Как рассуждать при выборе:
- 🚀 Частота в турбо-режиме — главный параметр. Ориентир для отзывчивой работы — от 3,5 ГГц под нагрузкой, лучше 4+ ГГц.
- 🧮 Число ядер — по количеству одновременно активных пользователей и фоновых заданий, а не по общему числу сотрудников в базе.
- 🧠 Объём кеша L3 — чем больше, тем лучше для СУБД.
- 🔌 Один сокет против двух — при равной суммарной мощности один процессор с высокой частотой обычно выгоднее: нет задержек между сокетами (NUMA).
| Вариант | Сильная сторона | Слабая сторона |
|---|---|---|
| Много ядер, 2,0–2,5 ГГц | Много пользователей одновременно | Медленное проведение и закрытие месяца |
| 8–16 ядер, 4+ ГГц | Быстрый отклик, тяжёлые операции | Потолок при большом числе сеансов |
| Два сокета | Масштаб для сотен пользователей | Дороже, нужна настройка NUMA в СУБД |
Если сервер уже куплен, проверьте план электропитания. В Windows поставьте схему «Высокая производительность», в BIOS/UEFI — профиль максимальной производительности. Энергосберегающий режим по умолчанию может держать частоту ниже паспортной.
Посмотреть реальную частоту под нагрузкой можно в Диспетчере задач на вкладке «Производительность» → ЦП. Если при проведении документа она падает до 1,5–2 ГГц, дело в электропитании, а не в 1С.
Оперативная память сервера 1С: объём и каналы
Памяти на сервере потребляют три потребителя: операционная система, процессы кластера 1С (ragent, rmngr, rphost) и СУБД. Самый прожорливый — СУБД: чем больше базы помещается в кеш, тем реже она лезет на диск.
Ориентиры для расчёта (примерно, для схемы «1С и СУБД на одной машине»):
- 💻 ОС — 4–8 ГБ.
- ⚙️ Кластер 1С — от 4 ГБ на небольшую нагрузку, плюс ориентировочно 150–300 МБ на каждый активный сеанс в тяжёлых конфигурациях.
- 🗄️ СУБД — в идеале объём, сравнимый с «горячей» частью базы. Для базы 50 ГБ комфортно отдать СУБД 32–48 ГБ.
Почему важны каналы памяти
Процессор читает память через несколько каналов. Сервер с 64 ГБ одной планкой работает медленнее, чем с теми же 64 ГБ четырьмя планками по 16 ГБ. Заполняйте все каналы процессора одинаковыми модулями — это бесплатный прирост скорости.
Сколько отдать СУБД
- MS SQL Server без ограничений забирает почти всю свободную память. Обязательно задайте параметр
max server memoryв свойствах сервера SQL, оставив 1С и ОС их долю. - PostgreSQL использует связку из своего буфера и кеша ОС. Типовая отправная точка:
shared_buffersоколо 25% ОЗУ,effective_cache_size— 50–75% ОЗУ.
Нехватку памяти видно по росту использования файла подкачки. Если сервер постоянно уходит в своп, никакая настройка 1С не поможет — нужна память.
Дисковая подсистема для 1С: скорость важнее объёма
База 1С в клиент-серверном режиме — это сотни мелких случайных чтений и записей в секунду. Для такой нагрузки решает не линейная скорость и не объём, а число операций ввода-вывода в секунду (IOPS) и задержка.
| Тип накопителя | Случайные операции | Подходит для |
|---|---|---|
| HDD 7200 об/мин | ~100–200 IOPS | Только архив резервных копий |
| SATA SSD | десятки тысяч IOPS | Небольшие базы, тестовый контур |
| NVMe SSD | сотни тысяч IOPS | Рабочие базы, tempdb, журналы транзакций |
Как разложить файлы по дискам
Хорошая схема для сервера с несколькими накопителями:
- Файлы данных СУБД — на NVMe, в зеркале (RAID 1) или RAID 10.
- Журнал транзакций (
.ldfу MS SQL, WAL у PostgreSQL) — на отдельный быстрый том: запись в журнал идёт при каждом проведении. tempdbу MS SQL — на NVMe. 1С активно пользуется временными таблицами, и медленныйtempdbтормозит отчёты.- Резервные копии — на отдельный диск или в хранилище. Не на тот же массив, что база.
Выбирайте SSD серверного класса с защитой от потери питания (PLP). У потребительских NVMe скорость записи падает при длительной нагрузке, а при внезапном отключении есть риск повредить данные.
RAID 5 и RAID 6 на запись медленнее RAID 10, для базы 1С их лучше не использовать. Если сервер виртуальный — уточните у провайдера, какие диски под виртуальной машиной и есть ли ограничение IOPS на тариф.
Настройка ОС и сети под сервер 1С
Железо — половина дела. Дальше Windows Server (2016 и новее) или Linux нужно подготовить под нагрузку.
Операционная система
- 🔋 Электропитание — схема «Высокая производительность», о ней выше.
- 🛡️ Антивирус — добавьте в исключения каталог данных кластера (по умолчанию
srvinfoв каталоге установки сервера 1С), каталоги с файлами СУБД и резервных копий. Проверка каждого обращения к файлу базы съедает скорость диска. - 🔄 Обновления ОС — ставьте по графику, а не автоматически среди рабочего дня: перезагрузка оборвёт сеансы пользователей.
- 🧹 Лишние роли — сервер 1С не должен одновременно быть файловым хранилищем отдела, почтой и терминалом на 30 человек.
Сеть
Схема обмена такая: клиент обращается к агенту сервера (порт 1540), затем к менеджеру кластера (1541) и рабочим процессам из диапазона портов, заданного в свойствах рабочего сервера (по умолчанию 1560:1591). Все эти порты должны быть открыты в брандмауэре.
Критичнее всего канал между сервером 1С и СУБД. Между ними идёт огромное число мелких запросов, поэтому решает задержка, а не ширина канала.
- Лучший вариант — 1С и СУБД на одной машине. Для MS SQL в этом случае используется протокол Shared Memory, сетевой задержки нет вовсе.
- Если машины разные — минимум 1 Гбит/с, лучше 10 Гбит/с, в одной стойке, без лишних коммутаторов и VPN между ними.
Параметры кластера серверов 1С, которые стоит проверить
Кластер настраивается в консоли администрирования серверов 1С:Предприятия. Большинство параметров по умолчанию разумны, но несколько стоит знать.
В свойствах рабочего сервера
- Количество ИБ на процесс и Количество соединений на процесс — управляют тем, сколько рабочих процессов
rphostподнимет кластер. При значении 1 в «ИБ на процесс» каждая база получает свой процесс: падение одной не задевает другие. - Максимальный объём памяти рабочих процессов — общий потолок для всех
rphostсервера. Ставьте его с учётом того, сколько памяти нужно СУБД. - Безопасный расход памяти за один вызов — защищает от «тяжёлого» отчёта, который пытается съесть всю память. Превысивший порог вызов прерывается.
- Диапазон IP-портов — тот самый
1560:1591. На сервере со многими базами диапазон расширяют.
В свойствах кластера
- Режим распределения нагрузки — по производительности или по памяти. Для большинства установок подходит распределение по производительности.
- Интервал перезапуска и допустимый объём памяти — плановый перезапуск рабочих процессов спасает от постепенного разбухания памяти. Перезапуск идёт с переводом сеансов на новый процесс, но запускайте его в нерабочее время.
В настройках информационной базы и СУБД
- Режим управляемых блокировок в конфигурации снижает конфликты пользователей. В типовых конфигурациях он уже включён.
- В MS SQL фирма 1С рекомендует параметр
max degree of parallelism= 1: параллельные планы запросов в 1С чаще мешают, чем помогают. - Для PostgreSQL используйте сборку, адаптированную для 1С. Стандартная сборка без доработок работает с 1С заметно хуже.
- Регламентные операции СУБД — обновление статистики и перестроение индексов (MS SQL),
VACUUM ANALYZE(PostgreSQL) — настройте ночным заданием.
Любые изменения параметров кластера и СУБД сначала проверяйте на тестовой копии. Ошибочный лимит памяти может обрывать вызовы пользователей посреди проведения документа.
Остановка службы агента сервера 1С или перезапуск СУБД обрывает все сеансы. Предупредите пользователей и делайте это вне рабочего времени.
Как найти узкое место: мониторинг сервера 1С
Прежде чем покупать новое железо, выясните, во что упирается текущее. Четыре вопроса и инструменты для ответа:
1. Процессор. Откройте Монитор ресурсов Windows. Если одно ядро загружено на 100% при проведении, а остальные простаивают — нужна частота, а не ядра. Если загружены все ядра и счётчик «Длина очереди процессора» долго держится выше числа ядер — нужны ядра.
2. Память. Смотрите свободную память и активность файла подкачки. У MS SQL полезен счётчик Page life expectancy: если он часто проседает до десятков секунд, СУБД не хватает памяти под кеш.
3. Диски. Счётчики Avg. Disk sec/Read и Avg. Disk sec/Write по тому с базой. Для SSD нормальные значения — единицы миллисекунд. Стабильно больше 20 мс — диски не справляются.
4. Блокировки. Если железо загружено слабо, а пользователи всё равно ждут — проблема не в оборудовании, а в ожиданиях на блокировках или в неэффективном коде конфигурации.
Инструменты 1С
- 📋 Консоль кластера — список сеансов и рабочих процессов, занятая память, колонка доступной производительности процесса. Сеанс с огромным временем вызова сразу видно.
- 📝 Технологический журнал — включается файлом
logcfg.xmlв каталогеconfплатформы. Пишет длительные вызовы, ошибки, ожидания на блокировках и взаимоблокировки. Начинайте с фильтра по длительности, иначе журнал за час займёт гигабайты. - 📊 Тест Гилёва — популярная обработка для сравнения скорости однопоточных операций до и после замены железа или настроек. Подходит для сравнения «было/стало» на одном сервере, но не как абсолютная оценка.
- 🔍 Центр управления производительностью из пакета корпоративного инструментария — для крупных внедрений, где нужен анализ медленных операций в динамике.
Замерьте типовую операцию до изменений: например, проведение одного и того же документа или формирование ОСВ за год. Без замера «стало быстрее» — только ощущение.
Ориентиры по конфигурации сервера под число пользователей
Ниже — примерные стартовые конфигурации для типовых БП, ЗУП, УТ. ERP и сильно доработанные базы требуют больше, особенно по памяти и дискам.
Отдельно про виртуализацию. Сервер 1С отлично работает в виртуальной машине, но при условии, что гипервизор не перегружен. Выделяйте виртуальной машине ядра без переподписки и следите, чтобы её диск не делил очередь с десятком соседей.