При подборе аппаратного обеспечения для работы с платформой «1С:Предприятие» разработчики и системные администраторы часто сталкиваются с дилеммой: что важнее — количество ядер процессора или производительность каждого отдельного ядра? Этот вопрос особенно актуален при выборе рабочей станции для программиста 1С или небольшого сервера баз данных. В этой статье мы подробно проанализируем этот вопрос на примере сравнения двух популярных процессоров — AMD Ryzen 5 3600 и AMD Ryzen 7 2700, разберем влияние архитектуры процессоров на скорость работы 1С, а также рассмотрим критически важные настройки оборудования.
Для того чтобы сделать правильный выбор, давайте сначала выясним причину, почему традиционные подходы к оценке процессоров (по принципу «чем больше ядер, тем лучше») не работают в мире 1С. Архитектура платформы «1С:Предприятие» имеет выраженную специфику:
Рассмотрим пример типичного кода 1С, который нагружает именно одно ядро процессора при проведении расчетов:
Процедура ВыполнитьТяжелыйРасчетНаСервере() Экспорт
// Пример длительной однопоточной операции в 1С
Выборка = Документы.РеализацияТоваровУслуг.Выбрать();
Пока Выборка.Следующий() Цикл
// Производим обработку каждой строки в один поток
Для Каждого СтрокаТЧ Из Выборка.Товары Цикл
// Интенсивные математические вычисления нагружают одно ядро CPU
Коэффициент = (СтрокаТЧ.Количество * СтрокаТЧ.Цена) / ?(СтрокаТЧ.Сумма = 0, 1, СтрокаТЧ.Сумма);
Для Итератор = 1 По 1000 Цикл
Коэффициент = Sqrt(Коэффициент) * 1.0001;
КонецЦикла;
СтрокаТЧ.Сумма = СтрокаТЧ.Сумма * Коэффициент;
КонецЦикла;
КонецЦикла;
КонецПроцедуры
Как мы видим из примера, данный цикл будет выполняться на одном ядре. Если у вас установлен процессор с большим числом медленных ядер, общее время выполнения операции увеличится, вызывая недовольство пользователей.
Перейдем к практическому сравнению двух моделей, упомянутых в обсуждении:
Проанализируем ключевые преимущества Ryzen 5 3600, которые делают его безоговорочным победителем в задачах 1С:
1. Показатель IPC (Instructions Per Cycle). Переход с архитектуры Zen+ на Zen 2 принес колоссальный прирост производительности на такт — около 15%. Это означает, что даже на абсолютно одинаковой тактовой частоте Ryzen 5 3600 выполнит вычисления на 15% быстрее, чем Ryzen 7 2700, просто за счет улучшенной внутренней микроархитектуры ядра.
2. Объем и латентность кэша L3. У Ryzen 5 3600 объем кэш-памяти третьего уровня равен 32 МБ, что ровно в два раза больше, чем у Ryzen 7 2700 (16 МБ). В архитектуре Zen 2 компания AMD также значительно снизила задержки (латентность) при обращении к кэшу. Поскольку 1С оперирует огромными массивами связанных метаданных, увеличенный кэш позволяет реже обращаться к сравнительно медленной оперативной памяти, что дает колоссальный прирост быстродействия в реальных задачах и тестах Гилева.
3. Частота работы с ОЗУ. Встроенный контроллер памяти у Ryzen 5 3600 гораздо совершеннее. Он без проблем поддерживает высокочастотную память (3200–3600 МГц и выше), в то время как контроллер первого и второго поколений Ryzen (включая Ryzen 2700) часто испытывал трудности с работой памяти на частотах выше 2933 МГц, что приводило к снижению пропускной способности системы.
В ходе обсуждения на форумах часто всплывает мнение о том, что процессоры AMD якобы нестабильны для клиент-серверных баз 1С и СУБД (MS SQL, PostgreSQL), из-за чего «падают» рабочие процессы rphost. Выясним истинную причину этого мифа.
На заре появления первых поколений процессоров Ryzen (серии 1000 и 2000, к которым относится Ryzen 7 2700) действительно наблюдалась некоторая сырость платформы: стабильность работы зависела от версий микрокода BIOS (AGESA) и настроек оперативной памяти. Некорректно подобранная частота или тайминги памяти приводили к микросбоям (ошибкам четности), которые вызывали аварийное завершение критичных к стабильности служб СУБД и сервера 1С.
Начиная с поколений Zen 2 (Ryzen 3000) и Zen 3 (Ryzen 5000) и по сей день, платформа AMD избавилась от «детских болезней». Сегодня процессоры AMD Ryzen и серверные процессоры AMD EPYC демонстрируют абсолютную стабильность и выдающуюся производительность при работе под любыми нагрузками в среде 1С, зачастую опережая конкурентов по соотношению цена/производительность.
Разберем, как изменился ландшафт подбора процессоров для 1С в последние годы, чтобы вы могли сделать осознанный выбор при покупке нового оборудования.
Если для обычных задач объем кэша L3 важен, то для 1С он критичен. Технология AMD 3D V-Cache (применяется в процессорах с индексом X3D, таких как Ryzen 7 5800X3D, 7800X3D, 9800X3D, а также в серверных процессорах EPYC серии «X») позволяет нарастить объем L3-кэша до внушительных 96 МБ и более. Результаты тестов показывают, что процессоры AMD с технологией 3D V-Cache опережают стандартные версии процессоров на 20–40% в тесте производительности Гилева, удерживая лидирующие позиции благодаря тому, что практически вся рабочая область базы данных для текущей транзакции умещается внутри сверхбыстрого кристалла кэша процессора.
При выборе современных процессоров Intel Core (начиная с 12-го поколения и новее) мы сталкиваемся с новой архитектурной особенностью — делением ядер на производительные (P-cores) и энергоэффективные (E-cores). Для 1С это несет скрытую угрозу:
Чтобы избежать этой проблемы, администраторам приходится отключать энергоэффективные ядра (E-cores) непосредственно в BIOS материнской платы или вручную настраивать соответствие ядер (Affinity Mask) для процессов СУБД и сервера приложений 1С.
Независимо от того, какой процессор вы выберете (AMD или Intel), для достижения максимальной производительности в 1С обязательно выполните следующие настройки в BIOS и операционной системе:
C-States, AMD Cool'n'Quiet (PSS Support) и Intel SpeedStep/Shift.High Performance (Высокая производительность). Это заставит ядра процессора всегда работать на максимальной базовой частоте.Подведем итог: для задач программирования и работы в 1С всегда делайте упор на производительность одного ядра — выбирайте процессоры с более новой архитектурой, высокой тактовой частотой и максимальным объемом кэш-памяти L3. В споре между Ryzen 7 2700 и Ryzen 5 3600 безоговорочную победу одерживает Ryzen 5 3600, который обеспечит гораздо более комфортную и быструю работу в конфигураторе и пользовательском режиме 1С.