Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Auswählen eines Prozessors für SQL Server 2012

Da Microsoft das Lizenzierungsmodell für SQL Server 2012 überarbeitet hat, ist es besonders wichtig, eine sorgfältige Analyse durchzuführen, bevor Sie genau entscheiden, welcher Prozessor für einen Datenbankserver verwendet werden soll, auf dem SQL Server 2012 ausgeführt wird. Die Umstellung auf Core-basierte Lizenzierung für SQL Server 2012 Enterprise Edition bedeutet, dass eine unvorsichtige Entscheidung darüber, auf welchem ​​​​Prozessor Sie genau arbeiten werden, sowohl viel Geld als auch viel Leistung und Skalierbarkeit kosten kann. Das gleiche Problem besteht (in geringerem Maße) mit SQL Server 2012 Standard Edition.

Der Unterschied in den Lizenzkosten für SQL Server 2012 zwischen einer guten Prozessorwahl und einer schlechten Prozessorwahl kann Ihre Hardware und Ihr Speichersubsystem in vielen Fällen mehr als bezahlen. Wie gehen Sie vor diesem Hintergrund vor, um eine optimale Prozessorauswahl für SQL Server 2012 Enterprise Edition zu treffen? Normalerweise wäre der erste Schritt, zu entscheiden, ob Sie einen Intel Xeon-Prozessor oder einen AMD Opteron-Prozessor verwenden möchten (SQL Server 2012 unterstützt die Intel Itanium-Prozessorfamilie nicht).

Leider ist es sehr schwierig, ein gutes technisches oder geschäftliches Argument für die Auswahl eines AMD Opteron-Prozessors für die Verwendung mit SQL Server 2012 Enterprise Edition zu erstellen. Seit der Einführung der Intel Nehalem-Architektur (Intel Xeon 3500-, 5500-, 6500- und 7500-Serie) in den Jahren 2008-2010 konnte AMD einfach nicht mit Intel mithalten, wenn es um Single-Threaded-Prozessorleistung geht. AMD verfügt nicht über die finanziellen oder technischen Ressourcen, um in Bezug auf Leistung oder Energieeffizienz mit Intel zu konkurrieren. Mit jeder Veröffentlichung einer neuen Prozessorfamilie von Intel ist AMD weiter zurückgefallen. Das ist nicht gut für die I.T. Industrie, da ein Mangel an tragfähiger Konkurrenz von AMD zwangsläufig das Innovationstempo von Intel verlangsamen wird.

Da ein Intel Xeon-Prozessor die einzig praktikable Wahl für SQL Server 2012 zu sein scheint, besteht der nächste Schritt darin, zu entscheiden, welche der vielen verfügbaren Xeon-Familien und -Modelle die beste Wahl für Ihre beabsichtigte SQL Server 2012-Workload wäre. Intel hat verschiedene Xeon-Produktfamilien für Server mit unterschiedlicher Socket-Anzahl. Für Single-Socket-Workstations und Server haben sie die Intel Xeon E3-Familie. Für Workstations und Server mit zwei Sockeln haben sie die Intel Xeon E5-Familie. Schließlich haben sie für Server mit zwei Sockeln, vier Sockeln und acht Sockeln (oder mehr) die Intel Xeon E7-Familie.

Da es in diesem Artikel um SQL Server 2012 Enterprise Edition geht, ignorieren wir die Intel Xeon E3-Familie mit einem Sockel, da Intel Xeon E3-Prozessoren auf die Verwendung von 32 GB DDR3-RAM beschränkt sind. Es gibt einige Nischenszenarien, in denen es sehr sinnvoll sein kann, einen Intel Xeon E3-1290V2-Prozessor in einem Single-Socket-Server mit 32 GB RAM in Kombination mit SQL Server 2012 Enterprise Edition zu verwenden. Vielleicht haben Sie eine relativ kleine Datenbank, in der Sie die absolut schnellste Single-Thread-Leistung benötigen, und Sie benötigen außerdem bestimmte Enterprise Edition-Funktionen wie SQL Server AlwaysOn-Verfügbarkeitsgruppen.

Die häufigere Wahl ist zwischen einem Zwei-Socket-Server und einem Vier-Socket-Server (oder mehr). Sie müssen die Größe und Intensität Ihrer Arbeitslast bewerten und entscheiden, ob sie auf einem kleineren, aber schnelleren Zwei-Sockel-Server ausgeführt werden kann, oder ob Sie den Sprung zu einem größeren, langsameren Vier-Sockel- oder größeren Server wagen müssen. Diese Entscheidung wird direkt von Ihrer erforderlichen Gesamt-CPU-Kapazität, der gesamten physischen RAM-Kapazität und Ihrer gesamten erforderlichen E/A-Kapazität (die mit der Anzahl und Art der PCI-E-Erweiterungssteckplätze im Server zusammenhängt) beeinflusst.

Ein weit verbreitetes Missverständnis ist, dass größere Intel-basierte Server (in Bezug auf die Socket-Anzahl) schnellere Server sind. Das ist aus mehreren Gründen einfach nicht wahr. Das Verkaufsvolumen und der Marktanteil von Zwei-Socket-Servern ist viel höher als bei Vier-Socket- und größeren Servern. Im Vergleich zu Intel-Prozessoren mit vier Sockeln ist für Zwei-Sockel-fähige Intel-Prozessoren auch weniger Engineering- und Validierungsarbeit erforderlich. Aufgrund dieser Faktoren veröffentlicht Intel neue Prozessorarchitekturen häufiger und früher für Server mit geringerer Socket-Anzahl. Derzeit verwendet die E3-Familie mit einem Sockel von Intel die 22-nm-Ivy-Bridge und die E5-Familie mit zwei Sockeln die 32-nm-Sandy-Bridge-EP, während die Intel-E7-Familie die ältere 32-nm-Mikroarchitektur Westmere-EX verwendet.

Ein weiterer Grund ist, dass Sie keine lineare Skalierung erhalten, wenn Sie die Socket-Anzahl erhöhen, selbst mit Prozessoren mit Non-Uniform Memory Access (NUMA)-Architektur, die viel besser skalieren als die ältere symmetrische Multiprocessing (SMP)-Architektur. Das bedeutet, dass ein Vier-Sockel-Server nicht die doppelte Prozessorleistung oder -kapazität hat wie ein Zwei-Sockel-Server mit dem gleichen Prozessormodell.

Dies kann durch den Vergleich der TPC-E OLTP-Benchmark-Ergebnisse von Zwei-Sockel-Systemen mit Intel Xeon E7-2870 Prozessoren mit Vier-Sockel-Systemen mit Intel Xeon E7-4870 Prozessoren mit Acht-Sockel-Systemen mit Intel Xeon E7-8870 Prozessoren bestätigt werden. Obwohl es sich im Wesentlichen um denselben Prozessor mit denselben individuellen Leistungsmerkmalen handelt, verdoppelt sich das TPC-E-Benchmark-Ergebnis nicht, wenn Sie die Socket-Anzahl verdoppeln, wie Sie in Tabelle 1 sehen können.

Prozessor Socket-Anzahl TPC-E-Ergebnis Kernanzahl insgesamt TPC-E-Ergebnis/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

Tabelle 1:Vergleich der TPC-E-Ergebnisse bei steigender Socket-Anzahl

Wenn ich darüber nachdenke, Prozessoren mit einem Sockel mit zwei Sockeln, mit vier und acht Sockeln zu vergleichen, verwende ich gerne eine Auto- und LKW-Analogie. Ein Single-Socket-Server ist wie ein Formel-1-Rennwagen, extrem schnell, aber mit sehr geringer Ladekapazität. Ein Server mit zwei Sockeln ist wie ein Tesla Model S, da er sehr schnell ist und eine ziemlich anständige Ladekapazität hat. Ein Vier-Sockel-Server ist wie ein großer SUV, er ist langsamer, hat aber mehr Ladekapazität als ein Tesla Model S. Schließlich ist ein Acht-Sockel-Server wie ein Mack-Lastwagen, der eine riesige Last viel langsamer transportieren kann als ein Geländewagen.

Prozessor Socket-Anzahl TPC-E-Ergebnis Kernanzahl insgesamt TPC-E-Ergebnis/Kern
Xeon E5-2690

2

1881.76

16

117.61
Xeon E5-4650

4

2651.27

32

82,85

Tabelle 2:Vergleich der TPC-E-Ergebnisse für zwei Xeon E5-Prozessormodelle

Wenn wir Tabelle 1 mit Tabelle 2 vergleichen, können wir sehen, dass die Intel Xeon E5-Familie auf TPC-E um einiges besser abschneidet als die Intel Xeon E7-Familie, was keine Überraschung ist, da wir die neuere Sandy Bridge-EP mit der vergleichen ältere Westmere-EX-Mikroarchitektur. Aus Performance-Sicht schneidet der Xeon E5-2690 mit zwei Sockeln deutlich besser ab als der Xeon E7-2870 mit zwei Sockeln. Meiner Meinung nach sollten Sie den Zwei-Sockel-Xeon E7-2870 für SQL Server 2012 aufgrund seiner geringeren Single-Thread-Leistung und der höheren Anzahl physischer Kerne (was höhere Lizenzkosten für SQL Server 2012 bedeutet) wirklich nicht verwenden.

Derzeit ist mein Lieblings-Serverprozessor von Intel der Intel Xeon E5-2690. Es bietet Ihnen eine hervorragende Single-Thread-Leistung und relativ erschwingliche Lizenzkosten für SQL Server 2012. Wenn Sie auf einen Server mit vier Sockeln umsteigen müssen, würde ich einen Intel Xeon E5-4650-Prozessor anstelle eines Intel Xeon E7-4870-Prozessors wählen, da Sie eine bessere Single-Thread-Leistung und eine niedrigere SQL Server 2012-Lizenz erhalten Kosten. Die Verwendung von TPC-E-Benchmark-Ergebnissen ist eine hervorragende Möglichkeit, die Leistung und SQL Server 2012-Lizenzeffizienz verschiedener Prozessorfamilien zu vergleichen.