Процессор для сервера 1С с MS SQL: на что смотреть перед покупкой

· 10 мин

Содержание

Для сервера 1С с MS SQL выбирайте процессор с максимальной частотой одного ядра под нагрузкой, а число ядер подбирайте под количество одновременно работающих пользователей. Проведение документа, закрытие месяца и тяжёлый отчёт выполняются в основном одним потоком, поэтому 16 быстрых ядер почти всегда дадут больше, чем 64 медленных.

Типичная жалоба после покупки «мощного» сервера звучит так: ядер стало втрое больше, а закрытие месяца идёт так же долго или дольше. Причина — старый офисный процессор на 4,5 ГГц заменили серверным на 2,1 ГГц. Разберём, как не попасть в эту ловушку и как проверить кандидата до оплаты.

Как 1С и SQL Server используют процессор

В клиент-серверном варианте нагрузку несут два участника. Сервер 1С выполняет бизнес-логику в рабочих процессах rphost. СУБД (MS SQL Server или PostgreSQL) хранит данные и выполняет запросы.

Ключевая особенность 1С: один серверный вызов пользователя выполняется в одном потоке. Если бухгалтер проводит документ на 300 строк, все расчёты внутри проведения идут последовательно на одном ядре. Другие ядра в это время обслуживают других пользователей, но ускорить именно этот документ не могут.

У SQL Server картина другая:

  • 🔹 он умеет распараллеливать один тяжёлый запрос на несколько ядер;
  • 🔹 для баз 1С параллелизм обычно ограничивают: параметр max degree of parallelism ставят в 1, такую настройку рекомендуют для 1С на MS SQL;
  • 🔹 при MAXDOP = 1 каждый запрос тоже работает в одном потоке, и решает опять частота.

Отсюда простая модель нагрузки:

Что происходитЧем ограниченоЧто важнее в процессоре
Проведение документа, перепроведениеОдин поток rphost + запросы к СУБДЧастота ядра, кэш
Закрытие месяца, расчёт себестоимостиДлинная цепочка операций в одном сеансеЧастота ядра
50 пользователей одновременно вводят документыМного независимых сеансовЧисло ядер
Регламентные задания, обмены, фоновые заданияПараллельные фоновые сеансыЧисло ядер
Обслуживание индексов, резервное копированиеСУБД, дискЯдра, дисковая подсистема

Процессор — не единственное узкое место. Если база не помещается в оперативную память SQL Server, а данные лежат на медленных дисках, быстрый CPU будет простаивать в ожидании ввода-вывода. Перед покупкой проверьте, что упираетесь именно в процессор: загрузка ядер у rphost и sqlservr.exe высокая, а очередь к диску небольшая.

Частота или ядра: что важнее для 1С на SQL

Ответ: сначала частота, потом ядра. Но частоту нужно смотреть правильно.

В спецификации процессора есть две цифры: базовая частота и максимальная турбочастота. Турбочастоту процессор держит, пока нагружены одно-два ядра. Когда под нагрузкой все ядра, реальная частота опускается — у многоядерных серверных моделей иногда почти до базовой. Для 1С важна частота, которую процессор держит под реальной нагрузкой, а не цифра «до 5 ГГц» на коробке.

На что смотреть в спецификации:

  • ⚙️ Базовая частота. Для сервера 1С ориентир — от 3 ГГц и выше. Модели с базой 2,0–2,4 ГГц рассчитаны на облачные нагрузки с тысячами лёгких потоков.
  • ⚙️ Турбочастота на все ядра (all-core turbo). Производители публикуют её не всегда, но в обзорах и тестах она есть.
  • ⚙️ Объём кэша третьего уровня. Запросы 1С активно работают с памятью, большой кэш снижает задержки.
  • ⚙️ Поколение архитектуры. Новое ядро на 3,5 ГГц обычно быстрее ядра пятилетней давности на 3,8 ГГц.

Сравнивайте процессоры одного поколения по частоте, а разных поколений — только по тестам. Цифра в гигагерцах между поколениями почти ничего не говорит.

Сколько ядер нужно, зависит от числа активных сеансов. Ориентиры ниже примерные: они получены из практики внедрений, а не из официальной методики, и сильно зависят от конфигурации и привычек пользователей.

Активных пользователей1С и SQL на одном сервереКомментарий
до 156–8 ядерХватит одного процессора с высокой частотой
15–508–16 ядерЧастота по-прежнему важнее количества
50–15016–32 ядраСтоит подумать о разносе 1С и SQL
свыше 15032 ядра и большеОтдельные серверы 1С и СУБД, расчёт по нагрузочному тесту

Не покупайте ядра «на вырост» в ущерб частоте. Добавить ещё один сервер в кластер 1С проще, чем ускорить медленное ядро.

Intel или AMD для сервера 1С

Жёсткой привязки 1С к производителю нет: платформа и SQL Server одинаково работают на x86-64 процессорах Intel и AMD. Выбирать нужно конкретную модель, а не бренд.

Что важно знать про обе платформы:

AMD EPYC. В линейках EPYC есть модели с индексом F — это версии с повышенной частотой при умеренном числе ядер, их делают как раз под задачи, которые упираются в однопоточную скорость и лицензии на ядро. Для небольших серверов у AMD есть EPYC 4004/4005 на платформе AM5: по сути это настольная архитектура Ryzen с серверными функциями и поддержкой ECC-памяти.

Intel Xeon. В линейках Xeon есть модели, оптимизированные под частоту, а для небольших серверов — серия Xeon E с высокой частотой и малым числом ядер. Многоядерные Xeon с низкой базовой частотой для 1С подходят хуже, хотя отлично справляются с виртуализацией множества лёгких машин.

Сравнение по критериям, которые реально влияют на 1С:

КритерийНа что смотретьПочему это важно
Частота под нагрузкойТурбо на все ядраСкорость проведения и отчётов
Кэш L3Объём на ядроСкорость работы запросов с памятью
Каналы памятиСколько каналов на сокетПропускная способность для SQL
Число сокетовОдин или два процессораДва сокета — это NUMA и лишние задержки
Цена ядра в лицензияхЧисло ядер × стоимость лицензии СУБДВлияет на итоговый бюджет сильнее, чем цена CPU

Про последнюю строку часто забывают. MS SQL Server лицензируется по ядрам: чем больше ядер, тем дороже лицензия. Поэтому процессор на 16 быстрых ядер нередко выходит дешевле в сумме, чем процессор на 32 медленных, даже если сам CPU стоит дороже.

У редакции SQL Server Standard есть ограничение на число используемых ядер (в зависимости от версии — 24 или 32 ядра) и на объём памяти под буферный пул. Ядра сверх лимита СУБД просто не задействует. Проверьте ограничения своей версии до покупки.

Если используете PostgreSQL, лицензий на ядра нет, но правило «частота важнее» остаётся в силе.

Серверный процессор или десктопный

Для маленькой фирмы на 5–10 пользователей соблазнительно поставить сервер 1С на мощный настольный компьютер с Core i9 или Ryzen 9. По однопоточной скорости такие процессоры часто обгоняют дорогие серверные модели. В тестах 1С они выглядят отлично.

Но у десктопной платформы есть ограничения, которые проявляются не в тестах, а в эксплуатации:

  • ❌ Память без коррекции ошибок. Большинство настольных платформ не поддерживают ECC полноценно. Ошибка в памяти на сервере базы данных может повредить данные, и вы узнаете об этом поздно.
  • ❌ Мало каналов памяти и линий PCIe. Две планки на канал, ограниченный максимум ОЗУ, мало места под NVMe-диски.
  • ❌ Нет удалённого управления. На серверных платах есть контроллер BMC (IPMI): можно перезагрузить машину и увидеть экран, не приезжая в офис.
  • ❌ Охлаждение и режим 24/7. Настольные системы рассчитаны на другой режим работы, турбочастота падает при перегреве.

Компромиссный вариант — «серверные» версии настольных архитектур: те же AMD EPYC 4004/4005 или Intel Xeon E. Они дают высокую частоту, поддерживают ECC и ставятся на серверные платы с удалённым управлением.

Какой у вас сценарий?

Процессор для 1С в виртуальной машине

Сегодня сервер 1С и SQL часто работают на виртуальных машинах. Правила выбора процессора здесь те же, но добавляются свои ловушки.

vCPU — это не ядро. Один виртуальный процессор соответствует одному аппаратному потоку хоста. При включённом Hyper-Threading у физического ядра два потока, и два vCPU на одном ядре делят его ресурсы. Машина с 8 vCPU на загруженном хосте может работать медленнее, чем 4 настоящих ядра.

Что настроить, чтобы виртуальная машина с 1С не тормозила:

  1. Не давайте машине SQL больше vCPU, чем ядер у одного физического процессора хоста. Машина, растянутая на два сокета, получает задержки доступа к «чужой» памяти (NUMA).
  2. Избегайте сильной переподписки: суммарное число vCPU всех машин на хосте не должно многократно превышать число физических ядер, если машины нагружены одновременно.
  3. В VMware следите за метрикой CPU Ready: если машина долго ждёт свободного ядра, 1С тормозит при низкой загрузке внутри гостевой ОС.
  4. В Hyper-V не включайте без нужды режим совместимости процессоров для миграции: он скрывает часть инструкций от гостевой системы.
  5. Учитывайте лицензии: SQL Server в виртуальной машине лицензируется по числу vCPU, минимум 4 ядра на машину.

Не давайте машине «лишних» vCPU про запас. Гипервизору сложнее планировать большую машину, и прироста от неиспользуемых ядер не будет.

Схема энергопотребления

Частая и незаметная причина медленной 1С — энергосбережение. Процессор снижает частоту в простое и не успевает разогнаться на коротких запросах. Проверьте три места:

  • 🔧 в BIOS/UEFI сервера — профиль производительности (Maximum Performance или аналог);
  • 🔧 в Windows на хосте и в гостевой системе — схема электропитания «Высокая производительность»;
  • 🔧 в настройках гипервизора — политика питания хоста.

Включить схему «Высокая производительность» в Windows можно командой от имени администратора:

powercfg /setactive SCHEME_MIN

SCHEME_MIN — встроенный псевдоним схемы с минимальным энергосбережением. Текущую схему покажет powercfg /getactivescheme. Смена схемы не прерывает работу пользователей, перезагрузка не нужна. А вот изменение настроек BIOS требует перезагрузки сервера — делайте это в нерабочее время, предупредив пользователей: все сеансы 1С оборвутся.

Как протестировать процессор перед покупкой

Цифры из спецификаций и чужих обзоров дают только направление. Окончательное решение принимайте по тестам на вашей нагрузке.

Тест Гилёва

Самый известный инструмент среди 1С-администраторов — тест Гилёва (TPC-1C-GILV). Это конфигурация 1С, которая выполняет типичные операции и выдаёт результат в условных единицах. Однопоточный режим показывает, насколько быстро процессор и связка с СУБД выполняют операции одного пользователя. Многопользовательский режим помогает понять, как сервер ведёт себя под параллельной нагрузкой.

Как использовать тест с пользой:

  1. Запустите тест на текущем сервере и запишите результат — это точка отсчёта.
  2. Попросите поставщика или облачного провайдера дать тестовый стенд с нужным процессором.
  3. Установите на стенд ту же версию платформы и СУБД, запустите тест в той же конфигурации (клиент-сервер, та же СУБД).
  4. Сравните результаты. Разница в 1,5–2 раза в однопоточном режиме вы почувствуете на проведении документов.

Тест чувствителен к энергосбережению. Если результат неожиданно низкий, сначала проверьте схему питания и профиль BIOS, а уже потом делайте выводы о процессоре.

Проверка на своей базе

Синтетический тест не заменяет реальную работу. Перед переходом стоит:

  • 📋 развернуть копию рабочей базы на тестовом стенде;
  • 📋 замерить время самых тяжёлых операций: закрытие месяца, перепроведение за период, формирование крупного отчёта;
  • 📋 сравнить с тем же замером на текущем сервере.

Для крупных внедрений есть нагрузочное тестирование через «1С:Тест-центр» из состава «1С:Корпоративный инструментальный пакет». Он имитирует работу десятков и сотен пользователей по сценариям и показывает, где сервер упрётся в предел.

Проверка текущего сервера

Прежде чем менять процессор, убедитесь, что он узкое место. В Windows откройте «Монитор ресурсов» или «Системный монитор» (perfmon) и посмотрите в часы пик:

СчётчикТревожный признак
% Processor Time (общий)Стабильно выше 80%
Processor Queue LengthДолго больше 2 на каждое ядро
Загрузка отдельного ядраОдно ядро на 100% во время тяжёлой операции
Очередь диска (Avg. Disk Queue Length)Высокая — проблема скорее в дисках, а не в CPU

Если одно ядро загружено полностью, а остальные простаивают, помогут только более быстрые ядра. Если загружены все ядра — нужно больше ядер или разнос 1С и СУБД по разным серверам.

Частые вопросы о процессоре для 1С и SQL

Нужно ли отключать Hyper-Threading на сервере 1С?
Как правило, нет. При многих одновременных пользователях дополнительные потоки дают прирост общей пропускной способности. Отключать имеет смысл только если тесты на вашей нагрузке показали выигрыш.
Что лучше: 1С и SQL на одном сервере или на разных?
До нескольких десятков пользователей обычно хватает одного сервера: обмен между 1С и СУБД идёт без сети и быстрее. Разносить стоит, когда процессора или памяти одной машины уже не хватает.
Подойдёт ли ARM-процессор для сервера 1С?
Для связки 1С и MS SQL Server на Windows выбирайте процессоры x86-64 от Intel или AMD: это проверенный и поддерживаемый вариант для рабочей базы.
Можно ли ускорить 1С, просто поставив процессор с большим кэшем?
Большой кэш L3 помогает запросам, которые много работают с памятью, но частота и архитектура ядра обычно влияют сильнее. Сравнивайте кандидатов тестом, а не одним параметром.
Сколько ядер выделять SQL Server, если 1С на той же машине?
Отдельно ядра не делят: операционная система распределяет нагрузку сама. Важнее ограничить память SQL Server, чтобы серверу 1С и системе осталось 4–8 ГБ.