sql >> Databáze >  >> RDS >> Sqlserver

Výběr procesoru pro SQL Server 2012

Vzhledem k tomu, že společnost Microsoft přepracovala model licencování pro SQL Server 2012, je obzvláště důležité provést promyšlenou analýzu, než se přesně rozhodnete, který procesor použít pro databázový server, na kterém bude spuštěn SQL Server 2012. Přechod na licencování založené na jádru pro SQL Server 2012 Enterprise Edition znamená, že nedbalé rozhodnutí o tom, na jakém procesoru budete přesně pracovat, může stát velké množství peněz a také velký výkon a škálovatelnost. Stejný problém existuje (v menší míře) s SQL Server 2012 Standard Edition.

Rozdíl v licenčních nákladech na SQL Server 2012 mezi dobrou volbou procesoru a špatnou volbou procesoru může v mnoha případech více než zaplatit za váš hardware a úložný subsystém. Vzhledem k tomu, jak postupovat při výběru optimálního procesoru pro SQL Server 2012 Enterprise Edition? Normálně by prvním krokem bylo rozhodnutí, zda chcete použít procesor Intel Xeon nebo procesor AMD Opteron (SQL Server 2012 nepodporuje rodinu procesorů Intel Itanium).

Bohužel je velmi obtížné vytvořit dobrý technický nebo obchodní případ pro výběr procesoru AMD Opteron pro použití s ​​SQL Server 2012 Enterprise Edition. Od představení architektury Intel Nehalem (řady Intel Xeon 3500, 5500, 6500 a 7500) v letech 2008-2010 AMD prostě nemůže konkurovat Intelu, pokud jde o výkon jednovláknového procesoru. AMD nemá finanční ani technické zdroje, aby konkurovalo Intelu z hlediska výkonu nebo energetické účinnosti. S každým novým vydáním rodiny procesorů od Intelu AMD stále více zaostává. To není dobrá věc pro I.T. průmysl, protože nedostatek životaschopné konkurence ze strany AMD nevyhnutelně zpomalí tempo inovací od Intelu.

Protože procesor Intel Xeon se zdá být jedinou životaschopnou volbou pro SQL Server 2012, je dalším krokem rozhodnutí, která z mnoha dostupných rodin a modelů Xeon by byla nejlepší volbou pro zamýšlenou zátěž SQL Server 2012. Intel má různé rodiny produktů Xeon pro servery s různým počtem soketů. Pro jednosocketové pracovní stanice a servery mají řadu Intel Xeon E3. Pro dvoupaticové pracovní stanice a servery mají řadu Intel Xeon E5. A konečně, pro servery se dvěma, čtyřmi a osmi paticemi (nebo více) mají řadu Intel Xeon E7.

Protože tento článek pojednává o SQL Server 2012 Enterprise Edition, budeme ignorovat rodinu Intel Xeon E3 s jednou paticí, protože procesory Intel Xeon E3 jsou omezeny na použití 32 GB DDR3 RAM. Existují některé specifické scénáře, kdy by mohlo mít velmi dobrý smysl používat procesor Intel Xeon E3-1290V2 v jednosocketovém serveru s 32 GB RAM v kombinaci s SQL Server 2012 Enterprise Edition. Možná máte relativně malou databázi, kde potřebujete absolutně nejrychlejší výkon s jedním vláknem, a také potřebujete specifické funkce Enterprise Edition, jako jsou skupiny SQL Server AlwaysOn Availability Groups.

Častější volba je mezi serverem se dvěma sokety a serverem se čtyřmi sokety (nebo více). Budete muset posoudit velikost a intenzitu vaší zátěže a rozhodnout se, zda může běžet na menším, ale rychlejším dvousocketovém serveru, nebo zda budete muset přejít na větší, pomalejší čtyřsocketový nebo větší server. Toto rozhodnutí je přímo ovlivněno vaší požadovanou celkovou kapacitou CPU, celkovou fyzickou kapacitou RAM a vaší celkovou požadovanou I/O kapacitou (která souvisí s počtem a typem rozšiřujících slotů PCI-E na serveru).

Jednou z běžných mylných představ je, že větší servery na bázi Intel (z hlediska počtu soketů) jsou rychlejší servery. To prostě není pravda, a to z mnoha důvodů. Objem prodeje a tržní podíl serverů se dvěma paticemi je mnohem vyšší než u serverů se čtyřmi sokety a větších. U dvoupaticových procesorů Intel je také potřeba méně inženýrské a ověřovací práce ve srovnání se čtyřpaticovými procesory Intel. Kvůli těmto faktorům Intel vydává nové architektury procesorů častěji a dříve pro servery s nižším počtem soketů. V současné době rodina Intel E3 používá 22nm Ivy Bridge a dvoupaticová rodina E5 používá 32nm Sandy Bridge-EP, zatímco rodina Intel E7 používá starší 32nm mikroarchitekturu Westmere-EX.

Dalším důvodem je, že při zvýšení počtu soketů nedosáhnete lineárního škálování, a to ani s procesory architektury NUMA (Non-uniform memory access), které se škálují mnohem lépe než starší architektura symetrického multiprocesingu (SMP). To znamená, že server se čtyřmi paticemi nebude mít dvojnásobný výkon nebo kapacitu procesoru než server se dvěma paticemi se stejným modelem procesoru.

To lze potvrdit porovnáním výsledků benchmarku TPC-E OLTP dvousocketových systémů s procesory Intel Xeon E7-2870 až čtyřpaticových systémů s procesory Intel Xeon E7-4870 až osmipaticových systémů s procesory Intel Xeon E7-8870. I když se jedná v podstatě o stejný procesor se stejnými individuálními výkonnostními charakteristikami, skóre benchmarku TPC-E se nezdvojnásobí, když zdvojnásobíte počet soketů, jak můžete vidět v tabulce 1.

Procesor Počet soketů Skóre TPC-E Celkový počet jader Skóre/jádro TPC-E
Xeon E7-2870

2

1560,70

20

78,04
Xeon E7-4870

4

2862,61

40

71,57
Xeon E7-8870

8

4614,22

80

57,68

Tabulka 1:Porovnání skóre TPC-E se zvyšujícím se počtem soketů

Když přemýšlím o srovnání jednopaticových procesorů s dvoupaticovými, čtyřmi a osmipaticovými procesory, rád používám analogii osobního a nákladního automobilu. Jednosocketový server je jako závodní vůz Formule 1, je extrémně rychlý, ale má velmi malou kapacitu nákladu. Dvoupaticový server je jako Tesla Model S, je velmi rychlý a má docela slušnou nákladovou kapacitu. Server se čtyřmi paticemi je jako velké SUV, je pomalejší, ale má větší nákladovou kapacitu než Tesla Model S. A konečně, server s osmi paticemi je jako nákladní automobil Mack, který je schopen přepravovat obrovský náklad mnohem pomaleji než SUV.

Procesor Počet soketů Skóre TPC-E Celkový počet jader Skóre/jádro TPC-E
Xeon E5-2690

2

1881,76

16

117,61
Xeon E5-4650

4

2651,27

32

82,85

Tabulka 2:Porovnání skóre TPC-E pro dva modely procesorů Xeon E5

Srovnáním tabulky 1 a tabulky 2 můžeme vidět, že rodina Intel Xeon E5 si vede na TPC-E o něco lépe než rodina Intel Xeon E7, což není překvapením, protože porovnáváme novější Sandy Bridge-EP s starší mikroarchitektura Westmere-EX. Z hlediska výkonu si dvoupaticový Xeon E5-2690 vede mnohem lépe než dvoupaticový Xeon E7-2870. Podle mého názoru byste opravdu neměli používat dvousocketový Xeon E7-2870 pro SQL Server 2012 kvůli jeho nižšímu výkonu s jedním vláknem a vyššímu počtu fyzických jader (což znamená vyšší licenční náklady na SQL Server 2012).

V současné době je mým oblíbeným serverovým procesorem Intel Intel Xeon E5-2690. Poskytne vám vynikající výkon s jedním vláknem a relativně dostupné licenční náklady na SQL Server 2012. Pokud potřebujete přejít na čtyřsocketový server, pak bych zvolil procesor Intel Xeon E5-4650 namísto použití procesoru Intel Xeon E7-4870, protože získáte lepší výkon s jedním vláknem a nižší licenci SQL Server 2012 náklady. Použití skóre benchmarku TPC-E je vynikající způsob, jak porovnat výkon a efektivitu licencí SQL Server 2012 různých rodin procesorů.


  1. Jak nastavit časový limit příkazu pro provedení dotazu

  2. SQL (ORACLE):ORDER BY a LIMIT

  3. Kód chyby MySQL:1175 během UPDATE v MySQL Workbench

  4. 2 způsoby, jak povolit zalamování slov v SQLite