Casa Impresa Selezione della migliore configurazione DRAM per SQL Server 2012

Selezione della migliore configurazione DRAM per SQL Server 2012

by Kevin O'Brien

Costruire il server di produzione Microsoft SQL Server 2012 ideale può essere un compito arduo, con variabili come spazio di archiviazione, RAM o selezione del processore che mettono in difficoltà anche gli amministratori IT esperti. L'ultima volta abbiamo pubblicato un'analisi sulla selezione del migliore CPU Intel Xeon E5-2600 v2 per eseguire SQL Server 2012 in ambienti non virtualizzati. A parte la CPU, la RAM è un altro componente chiave quando si considerano le esigenze prestazionali di SQL in esecuzione su Iron. Per questo test abbiamo utilizzato lo stesso banco di prova dello studio sul processore Intel, questa volta concentrandoci sull'integrazione della RAM Micron PC3-12800 con la CPU e lo spazio di archiviazione con le migliori prestazioni per valutarne l'impatto sulle prestazioni. 


Costruire il server di produzione Microsoft SQL Server 2012 ideale può essere un compito arduo, con variabili come spazio di archiviazione, RAM o selezione del processore che mettono in difficoltà anche gli amministratori IT esperti. L'ultima volta abbiamo pubblicato un'analisi sulla selezione del migliore CPU Intel Xeon E5-2600 v2 per eseguire SQL Server 2012 in ambienti non virtualizzati. A parte la CPU, la RAM è un altro componente chiave quando si considerano le esigenze prestazionali di SQL in esecuzione su Iron. Per questo test abbiamo utilizzato lo stesso banco di prova dello studio sul processore Intel, questa volta concentrandoci sull'integrazione della RAM Micron PC3-12800 con la CPU e lo spazio di archiviazione con le migliori prestazioni per valutarne l'impatto sulle prestazioni. 

Tradizionalmente, una quantità maggiore di RAM per SQL Server offre prestazioni più elevate. L'utilizzo di RAM aggiuntiva riduce l'ingombro di I/O su un determinato array di storage e offre anche alcuni vantaggi di memorizzazione nella cache. Mantenendo tutto invariato, esaminiamo quanta RAM puoi dedicare a SQL Server pur mantenendo un profilo a bassa latenza. In questo articolo mostriamo l'impatto sulle prestazioni dell'allocazione di 128 GB dedicati a SQL Server, che è il luogo in cui attualmente testiamo i dispositivi per le revisioni aziendali, fino a 8 GB.

Banco di prova

Per questa analisi stiamo valutando la memoria DDR3 Micron PC12800-3 entro a Supermicro Server SuperStorage 2027R-AR24NV con Windows Server 2012, un box dual-socket 2U che supporta la famiglia di CPU Intel E5-2600 ed E5-2600 v2. La RAM di sistema è composta da sedici DIMM Micron PC16-3 da 12800 GB che rimangono statici per ogni test. Per modificare la quantità di RAM utilizzata da SQL Server, modifichiamo l'impostazione di allocazione, limitandola a una quantità selezionata per ogni passaggio. Abbiamo sfruttato i 2.6 TB FusionioMemory PX600 per l'archiviazione interna all'host, che ha registrato ottimi numeri di latenza di SQL Server (il prodotto di ultima generazione più veloce testato dal nostro laboratorio).

Configurazione del server

  • 2 processori Intel Xeon E5-2687W v2 – 25 MB di cache, 3.40 GHz, 8 core
  • Chipset Intel C602
  • Memoria: RDIMM registrati Micron DDR256 da 16 GB (16x 1600 GB) a 3 MHz (128 GB dedicati al sistema, 8-128 GB dedicati a SQL)
  • Windows Server Standard 2012
  • 3 HBA Supermicro SAS3 (controller LSI SAS 3008)
  • SSD di avvio Micron P200m da 400 GB
  • 1 adattatore Mellanox ConnectX-3 VPI PCIe 3.0 a doppia porta (tessuto InfiniBand LoadGen)
  • 1 adattatore Emulex OCe11102 doppia porta 10GbE

Configurazione di archiviazione

  • SanDisk Fusion ioMemory PX600 da 2.6 TB
    • Provisioning eccessivo dell'80% in modalità ad alte prestazioni
    • Assorbimento di piena potenza abilitato
    • Firmware/driver VSL 4.1.1

Performance

Ogni intervallo di stepping della RAM specificato è stato testato nello stesso modo: sfruttando il nostro Punto di riferimento OLTP di SQL Server 2012 con il database situato sul PX600 all'interno del server Supermicro 2P a nodo singolo. Come con la maggior parte dei dispositivi di archiviazione della stessa classe, non ci preoccupiamo tanto delle transazioni al secondo; l'enfasi è in realtà sulla latenza necessaria per il completamento di ciascuna di queste transazioni.

Come previsto, quantità maggiori di RAM allocata al server SQL hanno consentito prestazioni transazionali più elevate. Tra 128 GB e 64 GB non abbiamo riscontrato un enorme cambiamento nel TPS. In effetti, il calo tra 96 ​​GB e 64 GB è rimasto all'incirca nello stesso margine di errore. La differenza da 16 GB a 8 GB ha comportato il cambiamento più grande, il che ci dice che 16 GB è probabilmente la soglia minima utile per questo particolare test e configurazione del server.

Concentrandoci sulla latenza, vediamo quanto bene Fusion ioMemory PX600 abbia mantenuto le sue prestazioni a bassa latenza con risultati di 128 GB, 96 GB e 64 GB con punteggi compresi tra 2 e 3 ms. Il calo a 32 GB ha aumentato la latenza di circa il 66%, ma il successivo calo a 16 GB è stato molto più drammatico. Questa modifica ha aumentato la latenza del 200%, che è poi aumentata di un altro 153% quando la RAM è stata ridotta a 8 GB.

Sebbene l'impatto sullo spazio di archiviazione non sia stato mostrato nell'ambito di questo test, ogni aumento nell'allocazione della DRAM ha ridotto drasticamente il carico rilevato dal dispositivo di archiviazione su cui risiedeva il database. In breve, più memoria si traduce in un minor numero di richieste che colpiscono lo spazio di archiviazione, rimanendo invece nella memoria di sistema. Mentre 128 GB di RAM avevano un carico in background di 50-100 MB/s, 16 GB sono aumentati a 800 MB/s (non durante l'attività di scrittura dei log che può causare picchi elevati per qualsiasi configurazione DRAM). Con un supporto di memorizzazione minore questi risultati sarebbero ancora più elevati.

Conclusione

Quando si mette insieme un SQL Server non virtualizzato ad alte prestazioni ci sono molte considerazioni. Nel primo pezzo abbiamo esaminato la CPU e il suo impatto sulle prestazioni SQL. Qui utilizziamo lo storage interno all'host e le CPU più performanti per mettere alla prova la RAM. In collaborazione con Micron abbiamo eseguito gli stessi test, spaziando da 8 GB a 128 GB di RAM dedicata a SQL. I risultati sono piuttosto intuitivi, generalmente una quantità maggiore di RAM è migliore in termini di latenza. C'è però un punto di rottura in cui la latenza vede un picco drammatico in questa configurazione. A 16 GB la latenza aumenta di 3 volte rispetto a 32 GB e a 8 GB l'impatto è ancora più grave. Per prestazioni ottimali, 128 GB di RAM per SQL con CPU alla massima velocità di clock e uno spazio di archiviazione PCIe leader generano una latenza di soli 2 ms. 

Pagina del prodotto Crucial/Micron

Selezione della migliore CPU Intel Xeon E5-2600 v2 per SQL Server 2012

Discuti questa recensione