Что важнее для 1С: высокая частота или много ядер?
Содержание
Для отклика 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С:
- Активные пользователи, которые проводят документы и строят отчёты.
- Фоновые и регламентные задания: обмены, загрузка курсов, полнотекстовый индекс, отправка отчётности.
- Обмены с сайтом, кассами, мобильными приложениями — часто их запускают по расписанию раз в несколько минут.
- Сама СУБД, если она стоит на том же сервере.
- Терминальный сервер , если пользователи работают через RDP на этой же машине.
Ориентировочные цифры для сервера 1С и СУБД на одной машине (типовые конфигурации, без тяжёлых доработок):
| Одновременно активных | Ядер (физических) | Комментарий |
|---|---|---|
| до 10 | 4 | Хватит одного современного процессора с высокой частотой |
| 10–30 | 6–8 | Частота по-прежнему важнее; ядра — с запасом под фоновые задания |
| 30–80 | 12–16 | Становится важен баланс; СУБД лучше вынести на отдельный сервер |
| 80–200 | 24–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–22 | 2–3 ГГц | Дёшево | Низкий однопоток, высокое энергопотребление |
Практический вывод из таблицы:
- ✅ Для сервера 1С на 10–50 пользователей лучше процессор с меньшим числом быстрых ядер, чем с большим числом медленных.
- ✅ Для отдельного сервера СУБД под сотни пользователей допустимы многоядерные модели с частотой пониже.
- ❌ Покупать двухпроцессорный сервер «на вырост» с базовой частотой 2 ГГц для базы на 15 человек — деньги на ветер.
Учтите лицензирование СУБД. MS SQL Server в редакциях с лицензией на ядро стоит дороже с каждым ядром, поэтому для него выгоднее меньше быстрых ядер. PostgreSQL бесплатен, и этот фактор отпадает.
Как протестировать процессор под 1С и не ошибиться
Синтетические тесты вроде архиваторов и рендеринга измеряют многопоточную мощность. Для 1С они вводят в заблуждение: 64-ядерный процессор их выигрывает, а в 1С проигрывает 8-ядерному.
Что использовать:
- Тест Гилёва (TPC-1C). Распространённая обработка, которая меряет скорость однопоточных операций в 1С. Запускайте её на тестовой базе в том же режиме, что и рабочая: файловый или клиент-серверный.
- Однопоточные результаты публичных бенчмарков процессоров. Подходят для сравнения моделей до покупки.
- Замер на своей базе. Самый честный способ: восстановите копию рабочей базы на тестовом стенде и засеките закрытие месяца, тяжёлый отчёт, проведение пакета документов.
- Счётчики производительности под нагрузкой. В 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С в пределах одного физического процессора и его памяти. Когда машина «размазана» по двум сокетам, обращения к чужой памяти добавляют задержку.
Энергосбережение и другие настройки, которые съедают частоту
Купить быстрый процессор — половина дела. По умолчанию сервер часто работает в экономичном режиме и не выходит на полную частоту.
Самая частая находка — план электропитания «Сбалансированный» в Windows Server. На нём ядро не успевает разогнаться за короткий серверный вызов, и пользователи ощущают это как «подтормаживание» без загрузки процессора.
Изменение настроек BIOS требует перезагрузки сервера. Все сеансы пользователей 1С при этом оборвутся, а несохранённые документы пропадут. Делайте это вечером или в выходной, заранее предупредив пользователей.
Итог: какой процессор брать под 1С
Решение зависит от масштаба. Короткая шпаргалка:
- 🏢 Файловая база, 1–5 человек. Тратьте бюджет на быстрые рабочие места и SSD. Серверный процессор не нужен.
- 🏢 Клиент-сервер, 5–30 пользователей, всё на одной машине. Процессор с 6–8 быстрыми ядрами и высокой турбо-частотой. Достаточно одного сокета.
- 🏢 30–100 пользователей. 12–16 быстрых ядер на сервер 1С; СУБД — желательно на отдельной машине с упором на память и диски.
- 🏢 Сотни пользователей, ERP. Кластер из нескольких рабочих серверов с высокочастотными процессорами и отдельный многоядерный сервер СУБД.
- ☁️ Облако. Платите за проверенную частоту, а не за число vCPU. Тестовый период и замер — обязательно.
Общее правило: сначала частота и поколение процессора, потом количество ядер. Ядра докупаются под реальную одновременную нагрузку, которую видно в замерах. Частоту у купленного процессора не добавить ничем.
И последнее. Если 1С тормозит на вполне современном сервере, процессор редко бывает единственной причиной. Часто дело в неоптимальном запросе в доработке, нехватке памяти, медленном диске под СУБД или в регламентном задании, которое запускается каждую минуту. Прежде чем менять железо, посмотрите, чем на самом деле занят сервер.