sql >> Database >  >> RDS >> Sqlserver

Een processor selecteren voor SQL Server 2012

Sinds Microsoft het licentiemodel voor SQL Server 2012 heeft vernieuwd, is het vooral belangrijk om een ​​doordachte analyse te doen voordat u precies beslist welke processor u moet gebruiken voor een databaseserver waarop SQL Server 2012 wordt uitgevoerd. De overstap naar op core-gebaseerde licenties voor SQL Server 2012 Enterprise Edition betekent dat een onzorgvuldige beslissing over welke processor u precies gaat gebruiken, zowel veel geld als veel prestaties en schaalbaarheid kan kosten. Hetzelfde probleem bestaat (in mindere mate) met SQL Server 2012 Standard Edition.

Het verschil in licentiekosten voor SQL Server 2012 tussen een goede processorkeuze en een slechte processorkeuze kan in veel gevallen meer dan betalen voor uw hardware en uw opslagsubsysteem. Hoe ga je om met het maken van een optimale processorkeuze voor SQL Server 2012 Enterprise Edition? Normaal gesproken zou de eerste stap zijn om te beslissen of u een Intel Xeon-processor of een AMD Opteron-processor wilt gebruiken (SQL Server 2012 ondersteunt de Intel Itanium-processorfamilie niet).

Helaas is het erg moeilijk om een ​​goede technische of business case te maken om een ​​AMD Opteron processor te selecteren voor gebruik met SQL Server 2012 Enterprise Edition. Sinds de introductie van de Intel Nehalem-architectuur (Intel Xeon 3500, 5500, 6500 en 7500 series) in 2008-2010 kan AMD simpelweg niet concurreren met Intel als het gaat om single-threaded processorprestaties. AMD heeft niet de financiële of technische middelen om te concurreren met Intel op het gebied van prestaties of energie-efficiëntie. Met elke nieuwe processorfamilie die Intel uitbrengt, loopt AMD verder achterop. Dit is geen goede zaak voor de I.T. industrie, aangezien een gebrek aan levensvatbare concurrentie van AMD onvermijdelijk het innovatietempo van Intel zal vertragen.

Aangezien een Intel Xeon-processor de enige haalbare keuze lijkt te zijn voor SQL Server 2012, is de volgende stap beslissen welke van de vele beschikbare Xeon-families en -modellen de beste keuze zou zijn voor uw beoogde SQL Server 2012-workload. Intel heeft verschillende Xeon-productfamilies voor verschillende socket count servers. Voor single-socket werkstations en servers hebben ze de Intel Xeon E3-familie. Voor workstations en servers met twee sockets hebben ze de Intel Xeon E5-familie. Ten slotte hebben ze voor servers met twee sockets, vier sockets en acht sockets (of meer) de Intel Xeon E7-familie.

Aangezien dit artikel SQL Server 2012 Enterprise Edition bespreekt, zullen we de single-socket Intel Xeon E3-familie negeren, aangezien Intel Xeon E3-processors beperkt zijn tot het gebruik van 32 GB DDR3 RAM. Er zijn enkele nichescenario's waar het heel verstandig kan zijn om een ​​Intel Xeon E3-1290V2-processor te gebruiken in een single-socket server met 32GB RAM in combinatie met SQL Server 2012 Enterprise Edition. Misschien heb je een relatief kleine database waar je absoluut de snelste single-threaded performance nodig hebt en heb je ook specifieke Enterprise Edition-functies nodig, zoals SQL Server AlwaysOn-beschikbaarheidsgroepen.

De meest voorkomende keuze is tussen een server met twee sockets en een server met vier sockets (of meer). U zult de omvang en intensiteit van uw werklast moeten beoordelen en beslissen of deze op een kleinere, maar snellere server met twee sockets kan worden uitgevoerd, of dat u de sprong moet maken naar een grotere, langzamere server met vier sockets of grotere. Deze beslissing wordt rechtstreeks beïnvloed door uw vereiste totale CPU-capaciteit, totale fysieke RAM-capaciteit en uw totale vereiste I/O-capaciteit (die gerelateerd is aan het aantal en het type PCI-E-uitbreidingsslots in de server).

Een veel voorkomende misvatting is dat grotere op Intel gebaseerde servers (in termen van aantal sockets) snellere servers zijn. Dit is gewoon niet waar, om een ​​aantal redenen. Het verkoopvolume en marktaandeel van servers met twee sockets is veel hoger dan voor servers met vier sockets en grotere. Er is ook minder engineering- en validatiewerk nodig voor Intel-processors met twee sockets in vergelijking met Intel-processors met vier sockets. Vanwege deze factoren brengt Intel vaker en eerder nieuwe processorarchitecturen uit voor servers met een lager aantal sockets. Momenteel gebruikt Intel's E3-familie met één socket de 22nm Ivy Bridge en gebruikt de E5-familie met twee sockets de 32nm Sandy Bridge-EP, terwijl de Intel E7-familie de oudere 32nm Westmere-EX-microarchitectuur gebruikt.

Een andere reden is dat u geen lineaire schaling krijgt naarmate u het aantal sockets verhoogt, zelfs niet met niet-uniforme geheugentoegang (NUMA) architectuurprocessors, die veel beter schalen dan de oudere symmetrische multiprocessing (SMP) -architectuur. Dit betekent dat een server met vier sockets niet twee keer zoveel processorprestaties of capaciteit heeft als een server met twee sockets met hetzelfde processormodel.

Dit kan worden bevestigd door de TPC-E OLTP-benchmarkresultaten te vergelijken van systemen met twee sockets met Intel Xeon E7-2870-processors en systemen met vier sockets met Intel Xeon E7-4870-processors en systemen met acht sockets met Intel Xeon E7-8870-processors. Hoewel dit in wezen dezelfde processor is met dezelfde individuele prestatiekenmerken, verdubbelt de TPC-E-benchmarkscore niet omdat u het aantal sockets verdubbelt, zoals u kunt zien in tabel 1.

Verwerker Aantal stopcontacten TPC-E-score Totaal aantal kernen TPC-E-score/kern
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

Tabel 1:Vergelijking van TPC-E-scores naarmate het aantal sockets toeneemt

Als ik denk aan het vergelijken van processors met één socket met twee sockets, met vier en acht sockets, gebruik ik graag een auto- en vrachtwagenanalogie. Een single-socket server is als een Formule 1-raceauto:hij is extreem snel, maar heeft weinig laadcapaciteit. Een server met twee sockets is als een Tesla Model S, hij is erg snel en heeft een behoorlijk behoorlijke laadcapaciteit. Een server met vier sockets is als een grote SUV, die langzamer is maar meer laadcapaciteit heeft dan een Tesla Model S. Ten slotte is een server met acht sockets als een Mack-truck, in staat om een ​​enorme lading veel langzamer te vervoeren dan een SUV.

Verwerker Aantal stopcontacten TPC-E-score Totaal aantal kernen TPC-E-score/kern
Xeon E5-2690

2

1881.76

16

117,61
Xeon E5-4650

4

2651,27

32

82.85

Tabel 2:Vergelijking van TPC-E-scores voor twee Xeon E5-processormodellen

Als we tabel 1 vergelijken met tabel 2, kunnen we zien dat de Intel Xeon E5-familie het een stuk beter doet op TPC-E dan de Intel Xeon E7-familie, wat geen verrassing is, aangezien we de nieuwere Sandy Bridge-EP vergelijken met de oudere Westmere-EX-microarchitectuur. Vanuit prestatieperspectief doet de two-socket Xeon E5-2690 het veel beter dan de two-socket Xeon E7-2870. Naar mijn mening zou je de two-socket Xeon E7-2870 voor SQL Server 2012 echt niet moeten gebruiken vanwege de lagere single-threaded prestaties en het hogere aantal fysieke cores (wat hogere licentiekosten voor SQL Server 2012 betekent).

Momenteel is mijn favoriete Intel-serverprocessor de Intel Xeon E5-2690. Het geeft u uitstekende single-threaded prestaties en relatief betaalbare licentiekosten voor SQL Server 2012. Als je moet overstappen op een vier-socket-server, dan zou ik een Intel Xeon E5-4650-processor kiezen in plaats van een Intel Xeon E7-4870-processor, omdat je betere single-threaded prestaties en een lagere SQL Server 2012-licentie krijgt kosten. Het gebruik van TPC-E-benchmarkscores is een uitstekende manier om de prestaties en SQL Server 2012-licentie-efficiëntie van verschillende processorfamilies te vergelijken.


  1. Welk gegevenstype voor breedte- en lengtegraad?

  2. mysql-updatekolom met waarde uit een andere tabel

  3. 4 manieren om rijen in SQL Server-tabel te tellen met voor- en nadelen

  4. retourwaarde op een positie van STRING_SPLIT in SQL Server 2016