OpslagReview. com

De beste DRAM-configuratie selecteren voor SQL Server 2012

Enterprise  ◇  In het laboratorium

Het bouwen van de ideale Microsoft SQL Server 2012-productieserver kan een lastige klus zijn, met variabelen zoals opslag, RAM en processorkeuze die zelfs doorgewinterde IT-beheerders voor een raadsel stellen. We publiceerden eerder een analyse over het selecteren van de beste Intel Xeon E5-2600 v2 CPU voor het draaien van SQL Server 2012 in niet-gevirtualiseerde omgevingen. Naast de CPU is RAM een andere belangrijke component als het gaat om de prestatie-eisen van SQL die op een fysieke server draait. Voor deze test gebruikten we dezelfde testopstelling als in het onderzoek naar de Intel-processor, maar ditmaal met de focus op het combineren van Micron PC3-12800 RAM met de best presterende CPU en opslag om de impact op de prestaties 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 in een Supermicro SuperStorage Server 2027R-AR24NV met Windows Server 2012. Dit is een 2U dual-socket server die de Intel CPU's E5-2600 en E5-2600 v2 ondersteunt. Het systeemgeheugen bestaat uit zestien 16GB Micron PC3-12800 DIMM's die tijdens elke test constant blijven. Om de hoeveelheid RAM die door SQL Server wordt gebruikt te wijzigen, passen we de toewijzingsinstelling aan en beperken we deze tot een hoeveelheid die voor elke teststap is geselecteerd. We gebruiken de 2.6TB Fusion ioMemory PX600 voor de opslag in de server zelf. Deze heeft zeer goede latency-waarden voor SQL Server behaald (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

Prestaties

Elk gespecificeerd RAM-stapinterval werd op dezelfde manier getest: met behulp van onze SQL Server 2012 OLTP-benchmark , waarbij de database zich bevond op de PX600 in de single-node 2P Supermicro-server. Zoals bij de meeste opslagapparaten in dezelfde klasse, maken we ons niet zozeer zorgen over het aantal transacties per seconde; de ​​nadruk ligt vooral op de latentie die nodig is om elke transactie 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. 

Cruciale/micron-productpagina

Selectie van de beste Intel Xeon E5-2600 v2 CPU voor SQL Server 2012

Bespreek deze recensie

Neem contact op met StorageReview

Nieuwsbrief | YouTube | Podcast | iTunes / Spotify | Instagram | Twitter | TikTok | RSS-feed

Kevin OBrien

Binnen het StorageReview Lab producten evalueren en samenwerken met marktleiders om nieuwe testomgevingen te ontwikkelen. Thuis sticht ik een gezin.