Что важнее для 1С: высокая частота или много ядер?

· 10 мин

Содержание

Для отклика 1С у одного пользователя важнее частота: каждый серверный вызов и каждый запрос исполняются в одном потоке, и лишние ядра его не ускорят. Количество ядер начинает решать, когда в базе одновременно работают десятки людей, идут фоновые задания и регламентные операции. Поэтому для 1С:Предприятия 8.3 выбирают процессор с высокой частотой на ядро, а число ядер подбирают под нагрузку.

Типичная история: компания покупает сервер на двух процессорах по 24 ядра с частотой 2,1 ГГц, переносит туда базу — и закрытие месяца идёт дольше, чем на старом офисном компьютере с Core i7. В диспетчере задач общая загрузка 5%, а одно ядро стоит в 100%. Это и есть ответ на вопрос «частота или ядра» в одной картинке.

Как 1С:Предприятие исполняет код на процессоре

Встроенный язык 1С не распараллеливает код сам. Проведение документа, формирование отчёта, расчёт себестоимости — всё это одна цепочка действий в одном потоке рабочего процесса.

Что из этого следует:

  • 🔹 Один пользователь = одно ядро в момент вызова. Пока сервер проводит документ, задействован один поток. Остальные ядра ждут других пользователей.
  • 🔹 Длинные операции упираются в частоту. Закрытие месяца, перепроведение за квартал, расчёт зарплаты на 2 000 сотрудников ускоряются почти пропорционально скорости одного ядра.
  • 🔹 Параллельность есть, но её делают явно. Фоновые задания, многопоточное обновление информационной базы после установки релиза, многопоточная загрузка и выгрузка — это отдельные потоки, которые программист или платформа запускают специально.
  • 🔹 СУБД живёт по своим правилам. MS SQL Server и PostgreSQL умеют выполнять один тяжёлый запрос в несколько потоков. Но запросы типовых конфигураций в основном короткие, и выигрыш от параллельного плана для них невелик.

Важны не только гигагерцы на коробке. Скорость одного ядра складывается из частоты, поколения архитектуры (сколько инструкций за такт) и объёма кеша. Процессор 2024 года на 3,5 ГГц обычно быстрее процессора 2016 года на 3,8 ГГц.

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

Сколько ядер нужно под число пользователей

Ядра понадобятся тогда, когда одновременно идёт много вызовов. Ключевое слово — «одновременно». 50 пользователей в базе не означают 50 параллельных операций: большую часть времени человек читает экран, печатает или говорит по телефону.

Что реально нагружает ядра сервера 1С:

  1. Активные пользователи, которые проводят документы и строят отчёты.
  2. Фоновые и регламентные задания: обмены, загрузка курсов, полнотекстовый индекс, отправка отчётности.
  3. Обмены с сайтом, кассами, мобильными приложениями — часто их запускают по расписанию раз в несколько минут.
  4. Сама СУБД, если она стоит на том же сервере.
  5. Терминальный сервер , если пользователи работают через RDP на этой же машине.

Ориентировочные цифры для сервера 1С и СУБД на одной машине (типовые конфигурации, без тяжёлых доработок):

Одновременно активныхЯдер (физических)Комментарий
до 104Хватит одного современного процессора с высокой частотой
10–306–8Частота по-прежнему важнее; ядра — с запасом под фоновые задания
30–8012–16Становится важен баланс; СУБД лучше вынести на отдельный сервер
80–20024–32 и большеРазнесение ролей, несколько рабочих серверов в кластере

Эти цифры — примерные. Тяжёлый ERP с самописными доработками может требовать вдвое больше, лёгкая Бухгалтерия на 20 человек спокойно живёт на 4 ядрах.

Не считайте ядра по формуле «одно ядро на N пользователей» без замера. Один отчёт с неудачным запросом занимает ядро на минуты, и сотня «лёгких» пользователей этого не перекроет.

Отдельно про Hyper-Threading и SMT. Логические ядра помогают, когда много коротких параллельных вызовов. Одну длинную операцию они не ускоряют. При подсчёте ориентируйтесь на физические ядра, а логические считайте запасом.

Файловая база и клиент-серверный вариант: где нужна частота

От режима работы зависит, какой процессор вообще важен.

Файловая база. Сервера 1С нет. Код и чтение файла 1Cv8.1CD выполняет клиентское приложение на компьютере пользователя. Если база лежит в общей папке, процессор файлового сервера почти не участвует — там важны сеть и диск.

Для файлового режима:

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

Особый случай — терминальный сервер с файловой базой. Тогда клиенты 1С всех пользователей работают на одной машине. Нагрузка ложится на её процессор, и нужны одновременно и частота (для каждого клиента), и ядра (по числу активных сессий).

Клиент-серверный вариант. Код встроенного языка в основном выполняется на сервере 1С, данные хранит СУБД. Здесь процессор сервера важен вдвойне: он обслуживает рабочие процессы 1С и, часто, ещё и СУБД.

РежимЧей процессор важенЧто решает
Файловая база по сетиКомпьютеров пользователейЧастота, затем диск и сеть
Файловая база в терминалеТерминального сервераЧастота + ядра по числу сессий
Клиент-сервер, всё на одной машинеСервераЧастота, затем ядра под пользователей и СУБД
Клиент-сервер, СУБД отдельноОбоих серверовСервер 1С — частота; СУБД — ядра, память, диски

Если база переросла файловый режим и тормозит при 5–10 одновременных пользователях, переход на клиент-сервер обычно даёт больше, чем замена процессора.

Сравнение процессоров для сервера 1С

Ниже — классы процессоров без привязки к конкретным моделям: модели меняются каждый год, а логика выбора остаётся.

Класс процессораЯдерЧастотаПлюсы для 1СМинусы
Серверные с высокой частотой (Intel Xeon E, Xeon W, AMD EPYC серии F)4–32высокая, турбо 4+ ГГцБыстрый отклик, хорош для сервера 1СДороже за ядро, меньше ядер
Многоядерные серверные (Xeon Gold/Platinum, EPYC общего назначения)24–96+базовая 2–2,5 ГГцМного одновременных пользователей, СУБД, виртуализацияМедленные длинные операции у одного пользователя
Десктопные топовые (Core i7/i9, Ryzen 7/9)8–24очень высокаяЛучший однопоток за свои деньгиНет ECC-памяти у части платформ, мало слотов памяти, нет серверного управления
Старые серверные б/у (поколения 5–8-летней давности)8–222–3 ГГцДёшевоНизкий однопоток, высокое энергопотребление

Практический вывод из таблицы:

  • ✅ Для сервера 1С на 10–50 пользователей лучше процессор с меньшим числом быстрых ядер, чем с большим числом медленных.
  • ✅ Для отдельного сервера СУБД под сотни пользователей допустимы многоядерные модели с частотой пониже.
  • ❌ Покупать двухпроцессорный сервер «на вырост» с базовой частотой 2 ГГц для базы на 15 человек — деньги на ветер.

Учтите лицензирование СУБД. MS SQL Server в редакциях с лицензией на ядро стоит дороже с каждым ядром, поэтому для него выгоднее меньше быстрых ядер. PostgreSQL бесплатен, и этот фактор отпадает.

Как протестировать процессор под 1С и не ошибиться

Синтетические тесты вроде архиваторов и рендеринга измеряют многопоточную мощность. Для 1С они вводят в заблуждение: 64-ядерный процессор их выигрывает, а в 1С проигрывает 8-ядерному.

Что использовать:

  1. Тест Гилёва (TPC-1C). Распространённая обработка, которая меряет скорость однопоточных операций в 1С. Запускайте её на тестовой базе в том же режиме, что и рабочая: файловый или клиент-серверный.
  2. Однопоточные результаты публичных бенчмарков процессоров. Подходят для сравнения моделей до покупки.
  3. Замер на своей базе. Самый честный способ: восстановите копию рабочей базы на тестовом стенде и засеките закрытие месяца, тяжёлый отчёт, проведение пакета документов.
  4. Счётчики производительности под нагрузкой. В Windows — монитор ресурсов, в Linux — top или htop с разбивкой по ядрам.

Как читать замеры в рабочее время:

  • 📊 одно-два ядра в 100%, остальные простаивают — упор в частоту, ядра не помогут;
  • 📊 все ядра загружены на 80–100% длительно — не хватает ядер или процессор занят чем-то лишним (антивирус, бэкап, индексация);
  • 📊 процессор загружен слабо, а 1С тормозит — ищите в другом месте: диск, память, сеть, блокировки.

Нагрузочные тесты и тяжёлые замеры проводите на копии базы или в нерабочее время. Тест на рабочем сервере днём замедлит работу всех пользователей.

Где у вас упор по процессору?

Виртуальные машины и облако: что меняется для 1С

Сервер 1С часто работает в виртуальной машине. Это нормально, но правила выбора становятся строже.

Виртуальное ядро — это не физическое. В облаке vCPU обычно равен одному потоку физического ядра с Hyper-Threading. 8 vCPU у провайдера ≈ 4 физических ядра. Сравнивайте предложения с этим поправочным коэффициентом.

Частота хоста скрыта. Провайдер пишет «8 vCPU», но не всегда указывает модель процессора. Многие облака ставят многоядерные процессоры на 2–2,5 ГГц: для провайдера это выгодно, для 1С нет. Перед покупкой:

  • ☁️ спросите модель процессора хоста или посмотрите её в самой виртуальной машине;
  • ☁️ возьмите тестовый период и прогоните тест Гилёва;
  • ☁️ ищите тарифы с пометкой «высокочастотные» или «для 1С» и проверяйте, что за ними стоит.

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

Больше vCPU — не всегда быстрее. Виртуальная машина с 16 vCPU на загруженном хосте может работать хуже машины с 8: гипервизору сложнее выделить ей процессорное время. Выдавайте столько, сколько реально загружено, плюс запас 20–30%.

NUMA. На двухпроцессорном хосте держите виртуальную машину 1С в пределах одного физического процессора и его памяти. Когда машина «размазана» по двум сокетам, обращения к чужой памяти добавляют задержку.

Энергосбережение и другие настройки, которые съедают частоту

Купить быстрый процессор — половина дела. По умолчанию сервер часто работает в экономичном режиме и не выходит на полную частоту.

Проверка, что процессор сервера 1С работает на полную частоту
Выполнено: 0 / 6

Самая частая находка — план электропитания «Сбалансированный» в Windows Server. На нём ядро не успевает разогнаться за короткий серверный вызов, и пользователи ощущают это как «подтормаживание» без загрузки процессора.

Изменение настроек BIOS требует перезагрузки сервера. Все сеансы пользователей 1С при этом оборвутся, а несохранённые документы пропадут. Делайте это вечером или в выходной, заранее предупредив пользователей.

Итог: какой процессор брать под 1С

Решение зависит от масштаба. Короткая шпаргалка:

  • 🏢 Файловая база, 1–5 человек. Тратьте бюджет на быстрые рабочие места и SSD. Серверный процессор не нужен.
  • 🏢 Клиент-сервер, 5–30 пользователей, всё на одной машине. Процессор с 6–8 быстрыми ядрами и высокой турбо-частотой. Достаточно одного сокета.
  • 🏢 30–100 пользователей. 12–16 быстрых ядер на сервер 1С; СУБД — желательно на отдельной машине с упором на память и диски.
  • 🏢 Сотни пользователей, ERP. Кластер из нескольких рабочих серверов с высокочастотными процессорами и отдельный многоядерный сервер СУБД.
  • ☁️ Облако. Платите за проверенную частоту, а не за число vCPU. Тестовый период и замер — обязательно.

Общее правило: сначала частота и поколение процессора, потом количество ядер. Ядра докупаются под реальную одновременную нагрузку, которую видно в замерах. Частоту у купленного процессора не добавить ничем.

И последнее. Если 1С тормозит на вполне современном сервере, процессор редко бывает единственной причиной. Часто дело в неоптимальном запросе в доработке, нехватке памяти, медленном диске под СУБД или в регламентном задании, которое запускается каждую минуту. Прежде чем менять железо, посмотрите, чем на самом деле занят сервер.

Частые вопросы

Помогает ли 1С двухпроцессорный сервер?
Только при большом числе одновременных пользователей или для СУБД. Одну операцию второй процессор не ускорит, а при неудачном распределении памяти между сокетами может даже добавить задержку.
Отключать ли Hyper-Threading на сервере 1С?
Обычно нет. Логические ядра помогают обслуживать много коротких вызовов одновременно. Отключение имеет смысл проверять замером только при явных проблемах.
Можно ли поставить сервер 1С на десктопный процессор?
Технически да, и по однопотоку он часто быстрее серверного. Минусы — ограниченный объём памяти, нередко без поддержки ECC, и нет серверных средств удалённого управления. Для небольшой компании это рабочий компромисс.
Что важнее для сервера СУБД под 1С: частота или ядра?
Для СУБД важнее ядра, объём памяти и скорость дисков. Но слишком медленные ядра замедлят и её: каждый короткий запрос тоже выполняется на одном ядре.
Почему 1С тормозит, хотя процессор загружен на 10%?
Скорее всего, загружено одно ядро из нескольких десятков, а в общем графике это выглядит как 10%. Откройте загрузку по каждому ядру отдельно. Если все ядра свободны — причина не в процессоре.