- Текст от первого лица.
- Определение OLTP и DW (data warehouse или OLAP) нагрузки. 1С относится к OLTP-системам.
- В общем-то все сказанное применимо и к прочим версиям MS SQL Server. Надо только учитывать ограничения по использованию ресурсов, например, для Standard-версий MS SQL.
------------------------------------------------------------------------------------------
Если вы находитесь в процессе подбора компонентов для нового сервера базы данных на SQL Server 2014 Enterprise Edition для OLTP или DW нагрузки, то вам нужно с самого начала определиться с ключевыми моментами.
Во-первых, вам нужно определить требуемое количество сокетов для будущего сервера – выбор стоит между 2х, 4х и 8-ми процессорными серверами. Затем вы должны определить какие именно из доступных моделей процессоров вы хотите использовать для данной модели сервера. Глядя на линейку актуальных моделей серверов от основных вендоров вы обнаружите, что выбрать можно примерно из 15-20 различных процессоров. Это может быть несколько сложным решением, но я призываю вас провести небольшое исследование и выбирать аккуратно.
Позволить выбирать процессор для вас кому-либо, кто возможно не знаком с лицензированием SQL Server 2014 и особенностями разных типов нагрузки, может быть дорогостоящей ошибкой. Очень распространенная ошибка, с которой я сталкиваюсь – попытка сохранить небольшую сумму денег и выбор процессора с меньшей тактовой частотой из семейства и поколения процессоров с одним и тем же числом процессорных ядер. Зачастую это приводит к существенной потере в производительности (20-30%) при незначительном уменьшении общих затрат (оборудование + лицензии на SQL Server 2014).
С политикой лицензирования SQL Server 2014 Enterprise Edition «на ядро» вам нужно обратить повышенное внимание на число ядер и определить, что для вас более важно – дополнительная масштабируемость (за счет большего числа ядер), либо максимальная производительность одного ядра (выбрать процессор из того же поколения с меньшим числом ядер, но большей тактовой частотой). В отличие от старого доброго SQL Server 2008 R2 (и младше), дополнительные процессорные ядра обойдутся дороже для SQL Server 2014. Вам действительно нужно подумать о том, как вы планируете использовать будущий сервер. Например, если вы можете распараллелить нагрузку между несколькими серверами, то при OLTP нагрузке вы увидите значительно большую производительность при использовании двух двухпроцессорных серверов, вместо одного четырехпроцессорного. DW нагрузку распараллелить на несколько серверов значительно сложнее.
OLTP-нагрузка особенно чувствительна к производительности одного потока (одного ядра CPU). Большинство OLTP запросов относительно небольшие и быстро выполняются на одном процессорном ядре. В то же время, наличие большого числа ядер важно для DW-нагрузки – это позволяет запустить больше тяжелых, высоко конкурентных запросов, при условии, что память или СХД не является узким местом.
Ниже перечень конкретных процессоров Intel по состоянию на середину августа 2014,которые я рекомендую для OLTP и DW нагрузок, а также их максимальные технические характеристики.
Двухпроцессорный сервер (Максимальное масштабирование для OLTP или DW нагрузки)
Intel Xeon E5-2697 v2 (22nm IvyBridge-EP)
- 2.7 GHz тактовая частота, 30MB L3 кэш, 8 GT/s Intel QPI 1.1
- 12 ядер, Turbo Boost 2.0 (3.5 GHz), hyper-threading
- Четырехканальная память, 12 слотов памяти на процессор, 384GB RAM при использовании 16GB DIMMs
- Рекомендованная цена $2618.
Двухпроцессорный сервер (Максимальная производительность для OLTP)
Intel Xeon E5-2643 v2 (22nm IvyBridge-EP)
- 3.5 GHz тактовая частота, 25MB L3 кэш, 8 GT/s Intel QPI 1.1
- 6 ядер, Turbo Boost 2.0 (3.8 GHz), hyper-threading
- Четырехканальная память, 12 слотов памяти на процессор, 384GB RAM при использовании 16GB DIMMs
- Рекомендованная цена $1552.
Наличие 12 физических ядер на процессор позволяет запустить больше конкурентных запросов OLTP или более эффективно выполнять запросы при DW нагрузке. 12-ядерный Xeon E5-2697 v2 будет стоить в 2 раза дороже в части лицензий SQL Server 2014, чем 6-ядерный Xeon E5-2643 v2.
И опять же, если вы можете распараллелить нагрузку, то 2 двухпроцессорных сервера на базе Xeon E5-2643 v2 дадут лучшую производительность для OLTP-нагрузки, чем 1 двухпроцессорный сервер на базе Xeon E5-2697 v2 при тех же затратах на лицензии SQL Server. Купив 2 сервера вместо одного можно получить суммарно больше оперативной памяти и большую пропускную способность. В некоторых случаях эта стратегия может не иметь смысла, особенно, когда учитывают затраты на администрирование и поддержку двух серверов вместо одного.
Четырехпроцессорный сервер (Максимальное масштабирование для OLTP или DW нагрузки)
Intel Xeon E7-4890 v2 (22nm IvyBridge-EX)
- 2.8 GHz тактовая частота, 37.5MB L3 кэш, 8 GT/s Intel QPI 1.1
- 15 ядер, Turbo Boost 2.0 (3.4 GHz), hyper-threading
- Четырехканальная память, 24 слота памяти на процессор, 1536GB RAM при использовании 16GB DIMMs
- Рекомендованная цена $6619
Четырехпроцессорный сервер (Максимальная производительность для OLTP)
Intel Xeon E7-8893 v2 (22nm IvyBridge-EX)
- 3.4 GHz тактовая частота, 37.5MB L3 кэш, 8 GT/s Intel QPI 1.1
- 6 ядер, Turbo Boost 2.0 (3.7 GHz), hyper-threading
- Четырехканальная память, 24 слота памяти на процессор, 1536GB RAM при использовании 16GB DIMMs
- Рекомендованная цена $6841
Новый Xeon E7-8893 v2 даст значительно большую производительность для однопоточных OLTP запросов в четырехпроцессорном сервере, чем E7-4890 v2, но при меньшей стоимости лицензий. Процессор E7-8893 v2 изначально разработан для восьми-сокетных серверов, но он также доступен в некоторых четырех-сокетных серверах от основных производителей. Это отличный выбор для небольшой OLTP нагрузки, когда вам требуется максимальная производительность ядра, но также требуется минимизировать затраты на SQL Server 2014.
Вы сэкономите достаточно средств на лицензиях SQL Server 2014 Enterprise Edition (около $250K) чтобы купить сервер как таковой, и еще довольно много останется. Я даже думаю, что это лучший выбор во многих ситуациях, чем двухпроцессорный сервер с 12-ядернымипроцессорами IntelXeonE5-2697 v2, т.к. вы получаете значительно большую производительность ядра, а также гораздо больший максимальный объем памяти. Недостаток в том, что требуется купить оборудование с четырьмя довольно дорогими процессорами.
Большое количество ядер в Xeon E7-4890 v2 будет лучшим выбором при большой OLTP или DW нагрузке. Вы получаете больше процессорных ядер, что дает вам большую вычислительную мощность, но это потребует значительно более существенных затрат на лицензии для SQL Server 2014.
Восьмипроцессорный сервер (Максимальное масштабирование для OLTP или DW нагрузки)
Intel Xeon E7-8890 v2 (22nm IvyBridge-EX)
- 2.8 GHz тактовая частота, 37.5MB L3 cache, 8 GT/s Intel QPI 1.1
- 15 ядер, Turbo Boost 2.0 (3.4 GHz), hyper-threading
- Четырехканальная память, 24 слота памяти на процессор, 3072GB RAM при использовании 16GB DIMMs (8 сокетов)
- Рекомендованная цена $6841
Восьмипроцессорный сервер (Максимальная производительность для OLTP)
Intel Xeon E7-8891 v2 (22nm IvyBridge-EX)
- 3.2 GHz тактовая частота, 37.5MB L3 cache, 8 GT/s Intel QPI 1.1
- 10 ядер, Turbo Boost 2.0 (3.7 GHz), hyper-threading
- Четырехканальная память, 24 слота памяти на процессор, 3072GB RAM при использовании 16GB DIMMs (8 сокетов)
- Рекомендованная цена $6841
Для восьмипроцессорного сервера вы также можете выбрать процессор с меньшим числом ядер, например, E7-8891 v2, который имеет высокую тактовую частоту для максимальной однопоточной производительности. Меньшее количество ядер также сэкономит вам ОЧЕНЬ много денег на лицензиях, но суммарная производительность сервера будет меньше. Для существенной OLTP или DW нагрузки15-ядерный E7-8890 v2 будет лучшим выбором, т.к. вы получите значительно большую общую производительность CPU.
Все эти рекомендуемые процессоры принадлежат к одному поколению - 22nm Intel Xeon Ivy Bridge, поэтому вы можете легко сравнить производительность, основываясь на числе ядер, размере L3 кэша, базовой частоте и частоте при включенном режиме Turbo Boost. Все эти процессоры также поддерживают 32GB DIMMs (но эта память существенно дороже в пересчете на гигабайт, чем 16GB DIMMs), и будущую 64GB DIMMs (которая будет еще дороже за гигабайт).