Het bouwen van de ideale Microsoft SQL Server 2012-productieserver kan een ontmoedigende taak zijn, met variabelen zoals opslag, RAM of processorselectie die zelfs doorgewinterde IT-beheerders versteld doen staan. We hebben voor het laatst een analyse geplaatst rond het selecteren van de beste Intel Xeon E5-2600 v2 CPU voor het uitvoeren van SQL Server 2012 in niet-gevirtualiseerde omgevingen. Afgezien van CPU, is RAM een ander belangrijk onderdeel bij het overwegen van de prestatiebehoeften van SQL die op ijzer draait. Voor deze tests gebruikten we hetzelfde testbed als de Intel-processorstudie, dit keer gericht op het uitbreiden van Micron PC3-12800 RAM met de best presterende CPU en opslag om de prestatie-impact te meten.
Het bouwen van de ideale Microsoft SQL Server 2012-productieserver kan een ontmoedigende taak zijn, met variabelen zoals opslag, RAM of processorselectie die zelfs doorgewinterde IT-beheerders versteld doen staan. We hebben voor het laatst een analyse geplaatst rond het selecteren van de beste Intel Xeon E5-2600 v2 CPU voor het uitvoeren van SQL Server 2012 in niet-gevirtualiseerde omgevingen. Afgezien van CPU, is RAM een ander belangrijk onderdeel bij het overwegen van de prestatiebehoeften van SQL die op ijzer draait. Voor deze tests gebruikten we hetzelfde testbed als de Intel-processorstudie, dit keer gericht op het uitbreiden van Micron PC3-12800 RAM met de best presterende CPU en opslag om de prestatie-impact te meten.
Traditioneel gesproken biedt meer RAM voor SQL Server hogere prestaties. Door gebruik te maken van extra RAM wordt de I/O-voetafdruk op een bepaalde opslagarray verlaagd en wordt er ook enig cachingvoordeel geboden. Met alles gelijk gehouden, kijken we hoeveel RAM u kunt toewijzen aan SQL Server terwijl u toch een laag latentieprofiel behoudt. In dit artikel laten we de prestatie-impact zien van het toewijzen van 128 GB toegewezen aan SQL Server, waar we momenteel apparaten testen voor bedrijfsbeoordelingen, tot 8 GB.
Proefbank
Voor deze analyse evalueren we Micron PC3-12800 DDR3-geheugen binnen een Supermicro SuperStorage-server 2027R-AR24NV met Windows Server 2012, een 2U dual-socket box die de E5-2600 en E5-2600 v2 familie van Intel CPU's ondersteunt. Het systeem-RAM bestaat uit zestien 16 GB Micron PC3-12800 DIMM's die voor elke test statisch blijven. Om de hoeveelheid RAM die door SQL Server wordt gebruikt te wijzigen, wijzigen we de toewijzingsinstelling en beperken we deze tot een geselecteerde hoeveelheid voor elke stap. We maakten gebruik van de 2.6 TB Fusion ioMemory PX600 voor opslag in de host, die zeer goede latentiecijfers voor SQL Server heeft gepost (het snelste product van de huidige generatie dat ons lab heeft getest).
Server Configuration
- 2 x Intel Xeon-processor E5-2687W v2 - 25M cache, 3.40 GHz, 8 kernen
- Intel C602-chipset
- Geheugen - 256GB (16x 16GB) 1600MHz Micron DDR3 geregistreerde RDIMM's (128GB gereserveerd voor systeem, 8-128GB gereserveerd voor SQL)
- Windows Server Standard 2012
- 3 x Supermicro SAS3 HBA's (LSI SAS 3008-controllers)
- 200 GB Micron P400m opstart-SSD
- 1 x Mellanox ConnectX-3 Dual-Port VPI PCIe 3.0-adapter (InfiniBand LoadGen Fabric)
- 1 x Emulex OCe11102 Dual-Port 10GbE-adapter
Opslagconfiguratie
- SanDisk Fusion ioMemory PX600 2.6TB
- 80% Overprovisioning in high-performance modus
- Volledig stroomverbruik ingeschakeld
- VSL 4.1.1 firmware/stuurprogramma's
Prestatie
Elk gespecificeerd RAM-stappeninterval werd op dezelfde manier getest: gebruikmakend van our SQL Server 2012 OLTP-benchmark met de database op de PX600 in de single-node 2P Supermicro-server. Zoals met de meeste opslagapparaten in dezelfde klasse, maken we ons niet zoveel zorgen over de transactie per seconde; de nadruk ligt echt op de latentie voor elk van die transacties om te voltooien.
Zoals verwacht zorgden grotere hoeveelheden RAM die aan de SQL-server waren toegewezen voor hogere transactieprestaties. Tussen 128 GB en 64 GB zagen we geen grote verandering in TPS. In feite bleef de daling tussen 96 GB en 64 GB ongeveer binnen dezelfde foutmarge. Het verschil van 16 GB naar 8 GB bracht de grootste verandering met zich mee, wat ons vertelt dat 16 GB waarschijnlijk de minimale bruikbare drempel is voor deze specifieke test- en serverconfiguratie.
Als we ons concentreren op latentie, zien we hoe goed de Fusion ioMemory PX600 zijn low-latency-prestaties behield met de resultaten van 128 GB, 96 GB en 64 GB die tussen de 2 en 3 ms scoorden. De drop-down naar 32 GB verhoogde de latentie met ongeveer 66%, maar de volgende drop-down naar 16 GB was veel dramatischer. Die wijziging verhoogde de latentie met 200%, die vervolgens nog eens met 153% toenam toen het RAM werd verlaagd tot 8 GB.
Hoewel de opslagimpact niet werd getoond als onderdeel van deze test, verminderde elke stap omhoog in de DRAM-toewijzing de belasting van het opslagapparaat waarop de database zich bevond drastisch. Kortom, meer geheugen vertaalt zich in minder aanvragen die opslag raken, in plaats daarvan blijven ze in het systeemgeheugen. Terwijl 128 GB RAM een achtergrondbelasting had van 50-100 MB/s, nam 16 GB toe tot 800 MB/s (niet tijdens log-schrijfactiviteit die grote pieken kan veroorzaken voor elke DRAM-configuratie). Met een kleiner opslagmedium zouden deze resultaten nog beter zijn.
Conclusie
Bij het samenstellen van een krachtige niet-gevirtualiseerde SQL Server zijn er veel overwegingen. In het eerste stuk keken we naar CPU en de impact ervan op SQL-prestaties. Hier gebruiken we de best presterende in-host opslag en CPU's om RAM op de proef te stellen. In samenwerking met Micron hebben we dezelfde tests uitgevoerd, variërend van 8 GB tot 128 GB RAM speciaal voor SQL. De resultaten zijn vrij intuïtief, waarbij over het algemeen meer RAM beter is in termen van latentie. Er is echter een breekpunt waar de latentie een dramatische piek ziet in deze configuratie. Bij 16 GB latency spikes 3X in vergelijking met 32 GB en bij 8 GB is de impact nog ernstiger. Voor optimale prestaties genereert 128 GB RAM voor SQL met topkloksnelheid CPU's en toonaangevende PCIe-opslag een latentie van slechts 2 ms.
Selectie van de beste Intel Xeon E5-2600 v2 CPU voor SQL Server 2012