Выбор процессора для SQL Server-это всегда сложная задача, и мы часто находим, что базы данных и организации борются с тем же самым. Этот блог поможет нам выбрать правильный Процессор (CPU) для SQL Server.
Введение
Поскольку SQL Server использует лицензирование на основе ядра, очень важно провести тщательный анализ при выборе процессора для использования SQL Server. Лицензии SQL Server core относительно дороги, и очень часто приходится тратить гораздо больше денег на стоимость лицензий, чем на ваше оборудование и хранилище. Если вы сделаете разумный выбор процессора, вы можете купить серверное оборудование с наилучшей производительностью и масштабируемостью, которые возможны при данной стоимости лицензирования.
С другой стороны, неправильный выбор процессора может привести к огромной потере производительности и масштабируемости и/или к гораздо большим расходам на лицензирование, чем это необходимо. Не позволяйте администратору сервера просто выбрать процессор для использования SQL Server без какого-либо ввода или проверки с вашей стороны.
Современное серверное оборудование доступно по цене
Новые одно-и двухсотовые серверы с процессорами последнего поколения от AMD и Intel стоят гораздо дешевле, чем двух-и четырехсотовые серверы несколько лет назад. Если вы готовитесь к развертыванию новой версии SQL Server, обычно не рекомендуется повторно использовать существующее оборудование, которому уже несколько лет. Это распространенная ошибка, которую я считаю глупой, ложная экономика в большинстве случаев. Поскольку SQL Server является аппаратно-интенсивным и относительно дорогим для лицензирования, экономия на оборудовании обычно является плохой идеей.
Хорошее оборудование-это не панацея! Плохие рабочие нагрузки все равно победят. Плохо спроектированные приложения и базы данных могут легко перегружать лучшее оборудование и хранилище. Наличие быстрого оборудования и хранилища дает вам больше возможностей для ошибок. Это также дает вам лучшую производительность и больший запас мощности. Детали вашего оборудования на самом деле очень важны для SQL Server.
Подумайте О Своей Рабочей Нагрузке
Когда вы думаете о выборе процессора для SQL Server, подумайте о том, какой тип рабочей нагрузки у вас есть. Это рабочая нагрузка OLTP, рабочая нагрузка DW/Reporting или какая-то смешанная рабочая нагрузка? Это повлияет на выбор оборудования и хранилища. Вы также должны рассмотреть, будете ли вы работать с голым металлом или виртуализированным. По возможности следует избегать использования универсальных процессоров с высоким количеством ядер для узлов виртуализации SQL Server.
Вы также должны знать, будете ли вы использовать SQL Server Standard Edition или SQL Server Enterprise Edition, прежде чем выбрать свой процессор. SQL Server 2019 Standard Edition ограничен меньшим из четырех сокетов или 24 ядрами на экземпляр. Для серверов с голым металлом это число основано на физических ядрах. В случае виртуализированных экземпляров это число основано на виртуальных ядрах. Поэтому, если вы знаете, что будете использовать SQL Server 2019 Standard Edition на голом металлическом сервере, не выбирайте процессоры, которые приведут к тому, что у вас будет более 24 физических ядер в системе.
Стоимость лицензии SQL Server 2019
Основные лицензии продаются в двух пакетах, и вы должны приобрести не менее четырех основных лицензий на экземпляр. Это верно независимо от того, является ли экземпляр голым металлом или виртуализированным. Одно исключение из этого правила-если у вас есть виртуализированный экземпляр и вы приобрели достаточно основных лицензий для всего узла виртуализации (и у вас есть Microsoft Software Assurance). Если вы сделали все это, то вам не нужно беспокоиться о подсчете vcpu для всех виртуальных машин на хосте.
Выбор между процессорами AMD и Intel
За последние 10-12 лет процессоры Intel обычно были гораздо лучшим выбором для большинства случаев использования SQL Server по сравнению с процессорами AMD. Это было связано с крайне низкой однопоточной производительностью старых серверных процессоров AMD Opteron.
За последние пару лет компания AMD выпустила два поколения серверных процессоров AMD EPYC, которые изменили это старое руководство. Последние 7-нм процессоры серии AMD EPYC 7002 (Rome) во многих отношениях очень выгодно отличаются от последних 14-нм процессоров 2-го поколения Intel Xeon Scalable family (Cascade Lake-SP). AMD EYPC 7002 серии также гораздо дешевле, чем процессоры Intel.
В зависимости от рабочей нагрузки текущие процессоры AMD EPYC могут работать лучше, чем текущие процессоры Intel Xeon. Это особенно верно для рабочих нагрузок в стиле DW/Reporting. Самые быстрые процессоры Intel Xeon имеют небольшое однопоточное преимущество в производительности, что может сделать их хорошим выбором для рабочих нагрузок OLTP.
Одним из главных преимуществ AMD является объем памяти и пропускная способность, а также пропускная способность хранилища. Обе эти причины являются причиной того, что процессоры AMD очень хорошо справляются с рабочими нагрузками DW.
Как вы на самом деле сравниваете процессоры?
Один из методов, который использовали в течение многих лет, чтобы посмотреть на фактические оценки TPC-E benchmark. Это тест базы данных OLTP, который существует с 2007 года и не имеет ничего, кроме результатов SQL Server. Всякий раз, когда будет выпущен серверный процессор нового поколения, поставщики серверов представят официальные результаты бенчмарка TPC-E для самого высокого количества ядер “флагманского” процессора. Вы можете использовать эти официальные оценки в качестве отправной точки для выполнения некоторых простых вычислений, чтобы получить расчетную оценку TPC-E для других процессоров из того же семейства. Это позволяет сравнить производительность и емкость всех SKU процессоров в этом семействе.
Вы используете количество ядер и базовую тактовую частоту каждого процессора (по сравнению с фактическим флагманским процессором), чтобы сделать эти вычисления и получить расчетные баллы для каждого SKU процессора в том же семействе. Это справедливо только для процессоров одного и того же семейства.
С помощью этих вычислений вы получите расчетный общий балл TPC-E и расчетный балл TPC-E/core. Общая оценка – это показатель общей мощности процессора (процессоров) в этой системе. Глядя на расчетную оценку/ядро, вы сможете сравнить однопоточную производительность этого процессора. Это поможет вам понять, насколько” быстр ” этот процессор.
Рекомендуемые процессоры Intel
Intel имеет большое количество SKU в текущем семействе Cascade Lake-SP, начиная с 4 физических ядер и заканчивая 28 физическими ядрами. Часто существует несколько SKU, доступных для данного количества ядер. Среди них есть определенные SKU процессоров, которые являются “лучшими” для использования SQL Server для каждого количества ядер. Эти” лучшие ” процессоры дадут вам лучшую производительность при таком количестве ядер. Процессоры с меньшим количеством ядер из того же семейства будут иметь более высокие базовые тактовые частоты, чем модели с более высоким количеством ядер.
Intel, по слухам, выпустит несколько новых SKU в рамках “Cascade Lake-SP Refresh”.
Рекомендуемые процессоры AMD
AMD имеет меньшее количество SKU в текущей серии EPYC 7002, начиная с 8 физических ядер и заканчивая 64 физическими ядрами. Есть некоторые случаи, когда они также имеют несколько SKU, доступных для данного количества ядер. Среди них есть также специальные SKU процессоров, которые являются “лучшими” для использования SQL Server для каждого количества ядер. Эти” лучшие ” процессоры дадут вам лучшую производительность при таком количестве ядер. В отличие от Intel, существует меньше различий в базовых тактовых частотах различных процессоров подсчета ядер.