Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

Ottimizzazione di SQL Server:è tutta una questione di misurazione

Brent Ozar sa tutto sull'andare veloce:gareggia in auto e fa salire di giri i server SQL con risultati di prestazioni del database mozzafiato ogni giorno. Nel suo webcast "Come misurare SQL Server", per la serie di giorni di formazione del database di Quest, Brent ci ha ricordato che la performance è tutta una questione di misurazione.

In accelerazione per le prestazioni

Brent ha colto l'occasione per praticare il distanziamento sociale e ha vestito la parte indossando una tuta da corsa completa e un casco. In alcune battute pre-webcast, abbiamo appreso che doveva collegare un microfono al casco e fissare gli auricolari alle orecchie! Ma divaghiamo. Il webcast era incentrato sulle prestazioni e c'erano molte analogie con le auto da girare.

Per migliorare le prestazioni di SQL Server, le premesse sono:

  • Scegli le metriche su cui concentrarti sul miglioramento
  • Misurare le prestazioni prima e dopo aver apportato modifiche limitate (metodo scientifico di base)
  • Capisci quando hai l'attrezzatura sbagliata per quello che stai cercando di ottenere

Metriche di ottimizzazione delle prestazioni del database

Una lunga discussione sui camion Ford F150, Ford Fiesta e alcuni altri veicoli interessanti ha illustrato che ci sono diversi modi per migliorare il tempo necessario per passare da 0 a 60 miglia orarie. Puoi ridurre il peso del veicolo, aggiungere un motore più grande o iniziare a togliere i non essenziali, come un parabrezza. Ci sarà un compromesso tra prestazioni e utilità. I database sono proprio così:spesso vengono caricati. Questo è il momento in cui è necessaria l'ottimizzazione personalizzata delle prestazioni, che richiede la conoscenza e il miglioramento delle metriche.

Brent sostiene che ci sono tre parametri principali necessari per l'ottimizzazione delle prestazioni di auto e database:peso, benchmark di velocità (come da 0 a 60) e quanto duramente funziona il motore (server).

Misurazione delle dimensioni del database

Il peso per SQL Server si traduce nella dimensione totale del database e nella quantità di dati che hai. Questo è solitamente misurato in gigabyte o terabyte. Da circa 1-150 GB, SQL Server Standard Edition dovrebbe essere sufficiente. Da 150-500 GB è un carico facile per l'Enterprise Edition. Oltre i 500 GB, inizia a importare se si tratta di dati attivi e come si accede. Inoltre, qualsiasi dato superiore a 1 TB di dati OLTP potrebbe essere molto impegnativo.

Tracciamento della velocità delle prestazioni

Il benchmark di velocità nelle auto è facile:MPH. Per il database, si tratta di richieste batch al secondo, ma è necessario che l'andamento sia orario durante periodi di tempo diversi. Ovviamente, più query ci sono, più lente saranno le prestazioni a seconda dell'hardware.

Valutazione dei carichi di lavoro delle query

Infine, per capire quanto sta funzionando il database, è necessario capire quali query sono attualmente in esecuzione e cosa è in attesa nella coda. Questo ti darà un rapporto del tempo di attesa:in pratica, per quanto tempo le attività attendono il completamento di altre. Il rapporto del tempo di attesa sarà espresso come ore di attesa all'ora (o secondi di attesa al secondo):non confondere le unità di misura. Quando hai una buona gestione di queste statistiche nel tempo, puoi vedere cosa influisce sul tempo di attesa, ad esempio se ci sono più o meno richieste batch, query migliori o peggio sintonizzate, ecc. Quindi, puoi affrontare questi problemi.

Guarda la registrazione del webinar on-demand per tutti i saggi consigli e l'umorismo di Brent.