Om du är i färd med att utvärdera och välja komponenter för en helt ny databasserver för att köra en OLTP- eller DW-arbetsbelastning på SQL Server 2014 Enterprise Edition, har du flera inledande val som du måste göra som en del av beslutsprocessen.
Först måste du bestämma dig för antalet serversocket, vilket innebär att du väljer en server med två uttag, fyra uttag eller åtta uttag (åtminstone på marknaden för varuserver). När du har valt socketantal måste du bestämma exakt vilken av de tillgängliga processorerna du vill använda i den modellservern. När du tittar på valen för de flesta nuvarande modellservrar från de stora systemleverantörerna kommer du att upptäcka att du måste välja mellan cirka 15-20 olika specifika processorer. Allt detta kan vara lite överväldigande att tänka på, men jag uppmanar dig att göra lite efterforskningar och att välja noggrant.
Att låta någon annan välja dina processorer, som kanske inte är bekanta med SQL Server 2014-licenser och kraven från olika typer av databasarbetsbelastning, kan vara ett bestående, kostsamt misstag. Ett mycket vanligt fel som jag ser är att någon väljer en processor med lägre klockhastighet vid ett visst antal fysiska kärnor, från samma processorfamilj och generation, för att spara en relativt liten summa pengar på hårdvarukostnaderna. Om du gör detta kan du ge upp en betydande mängd prestanda (20-30%) för att spara en liten bråkdel av hela kostnaden, inklusive SQL Server 2014-licenser för databasservern.
Med den kärnbaserade licensieringen i SQL Server 2014 Enterprise Edition måste du vara mycket uppmärksam på dina fysiska kärnantalet och fundera på om du är mer angelägen om extra skalbarhet (från att ha fler fysiska kärnor), eller om du vill ha absolut bästa entrådiga CPU-prestanda (från att ha en processor med färre kärnor men en högre basklockhastighet från samma processorgeneration). Till skillnad från den gamla goda tiden med SQL Server 2008 R2 och äldre, kommer fler fysiska kärnor att kosta dig mer för dina licenskostnader för SQL Server 2014 Enterprise Edition. Du måste verkligen tänka på vad du försöker åstadkomma med din databashårdvara. Om du till exempel kan partitionera din arbetsbelastning mellan flera servrar, kan du se mycket bättre övergripande OLTP-prestanda om du använder två servrar med dubbla socklar istället för en quad-socket-server. Med en arbetsbelastning i ett datalager kan det vara mycket svårare att partitionera din arbetsbelastning över flera databasservrar.
Så här är de specifika Intel-processorer som jag rekommenderar i mitten av augusti 2014 för OLTP- och DW-arbetsbelastningar, med deras högnivåspecifikationer och några kommentarer.
Two-Socket Server (High Capacity OLTP eller DW)
Intel Xeon E5-2697 v2 (22nm Ivy Bridge-EP)
- 2,7 GHz basklockhastighet, 30 MB L3-cache, 8 GT/s Intel QPI 1.1
- 12 kärnor, Turbo Boost 2,0 (3,5 GHz), hypertrådning
- Fyra minneskanaler, tolv minnesplatser per processor, 384 GB RAM med 16 GB DIMM
Two-Socket Server (High Performance OLTP)
Intel Xeon E5-2643 v2 (22nm Ivy Bridge-EP)
- 3,5 GHz basklockhastighet, 25 MB L3-cache, 8 GT/s Intel QPI 1.1
- 6 kärnor, Turbo Boost 2,0 (3,8 GHz), hypertrådning
- Fyra minneskanaler, tolv minnesplatser per processor, 384 GB RAM med 16 GB DIMM
Om du har tolv fysiska kärnor per processor kan du köra fler samtidiga frågor OLTP-frågor eller mer effektivt köra en typisk DW-arbetsbelastning. Om du väljer toppen av raden skulle 12-kärniga Xeon E5-2697 v2 kosta dubbelt så mycket för SQL Server 2014-licenskostnaderna som 6-kärniga Xeon E5-2643 v2. Återigen, om du kan partitionera din arbetsbelastning, skulle två Xeon E5-2643 v2-baserade servrar med dubbla socklar ge dig bättre total OLTP-prestanda än en Xeon E5-2697 v2-baserad server för samma licenskostnad för SQL Server 2014 Enterprise Edition. Du skulle ha mer totalt minne mellan de två servrarna, och mer potentiell I/O-kapacitet, till priset av att köpa två servrar istället för en server. I vissa situationer kanske den här strategin inte är vettig, särskilt med den extra administrations- och underhållskostnaden för två servrar istället för en.
Server med fyra sockel (OLTP eller DW med hög kapacitet)
Intel Xeon E7-4890 v2 (22nm Ivy Bridge-EX)
- 2,8 GHz basklockhastighet, 37,5 MB L3-cache, 8 GT/s Intel QPI 1.1
- 15 kärnor, Turbo Boost 2.0 (3.4 GHz), hypertrådning
- Fyra minneskanaler, tjugofyra minnesplatser per processor, 1536 GB RAM med 16 GB DIMM
Server med fyra socklar (OLTP med hög prestanda)
Intel Xeon E7-8893 v2 (22nm Ivy Bridge-EX)
- 3,4 GHz basklockhastighet, 37,5 MB L3-cache, 8 GT/s Intel QPI 1.1
- 6 kärnor, Turbo Boost 2,0 (3,7 GHz), hypertrådning
- Fyra minneskanaler, tjugofyra minnesplatser per processor, 1536 GB RAM med 16 GB DIMM
Den nya Xeon E7-8893 v2 kommer att ge dig betydligt bättre entrådad OLTP-frågeprestanda i en server med fyra socklar än E7-4890 v2, till priset av mindre total kapacitet på grund av det lägre antalet fysiska kärnor. E7-8893 v2 är en "frekvensoptimerad" modell som egentligen är designad för åtta-sockets servrar, men finns i flera nya fyra-sockets servermodeller från de stora serverleverantörerna. Det är ett utmärkt val för en mindre OLTP-arbetsbelastning, där du vill ha bästa möjliga entrådiga CPU-prestanda, men vill minimera dina SQL Server 2014-licenskostnader.
Det skulle spara tillräckligt med licenskostnader för SQL Server 2014 Enterprise Edition (cirka $250 000) för att köpa själva servern och fortfarande ha massor av pengar över. Jag tror till och med att det är ett bättre val i många situationer än en två-socket server med 12-kärnig, Intel Xeon E5-2697 v2, eftersom du kommer att ha mycket högre entrådig prestanda och mycket högre minneskapacitet. Nackdelen är en högre hårdvarukostnad, eftersom du kommer att köpa fyra, ganska dyra processorer.
Det högre kärnantalet Xeon E7-4890 v2 skulle vara ett bättre val för en större OLTP-arbetsbelastning eller för en DW-arbetsbelastning. Du kommer att ha fler processorkärnor, vilket ger dig mer total CPU-kapacitet, vilket kommer att kosta dig en betydande summa extra för SQL Server 2014-licenskostnaderna.
Eight-Socket Server (High Capacity OLTP eller DW)
Intel Xeon E7-8890 v2 (22nm Ivy Bridge-EX)
- 2,8 GHz basklockhastighet, 37,5 MB L3-cache, 8 GT/s Intel QPI 1.1
- 15 kärnor, Turbo Boost 2.0 (3.4 GHz), hypertrådning
- Fyra minneskanaler, tjugofyra minnesplatser per processor, 3072 GB RAM med 16 GB DIMM (åtta socklar)
Eight-Socket Server (High Performance OLTP)
Intel Xeon E7-8891 v2 (22nm Ivy Bridge-EX)
- 3,2 GHz basklockhastighet, 37,5 MB L3-cache, 8 GT/s Intel QPI 1.1
- 10 kärnor, Turbo Boost 2.0 (3.7 GHz), hypertrådning
- Fyra minneskanaler, tjugofyra minnesplatser per processor, 3072 GB RAM med 16 GB DIMM (åtta socklar)
I utrymmet med åtta socklar kan du också välja en lägre kärnantal, frekvensoptimerad modell (som E7-8891 v2) som har en högre klockhastighet för bättre enkeltrådad OLTP-prestanda. Det lägre antalet kärnor kommer också att spara MYCKET pengar på licenskostnader för SQL Server 2014, även om du kommer att ge upp den extra belastningskapaciteten med färre totala tillgängliga processorkärnor. För en större OLTP-arbetsbelastning eller för en DW-arbetsbelastning skulle den 15-kärniga E7-8890 v2 vara ett bättre val, eftersom du kommer att ha mycket mer total CPU-kapacitet, tillsammans med extra SQL Server 2014-licenskostnader.
Alla dessa rekommenderade processorer kommer från samma nuvarande generation, 22nm Intel Xeon Ivy Bridge-familj, så du kan göra ganska enkla prestandajämförelser baserade på kärnantal, bas- och turboklockhastigheter och storleken på L3-cachen. Alla dessa processorer kommer också att stödja 32GB DIMM (som fortfarande är dyrare per GB än 16GB DIMM), och de kommande 64GB DIMMs (som kommer att bli ganska dyra per GB).
OLTP-arbetsbelastningar är särskilt känsliga för entrådad CPU-prestanda, eftersom de flesta OLTP-frågor är kortvariga frågor som vanligtvis körs på en enda processorkärna. Att ha fler totala kärnor är viktigt för DW-prestandan och gör att du kan köra högre samtidiga frågevolymer, förutsatt att du inte ser flaskhalsar i minnet eller lagringsundersystemet.