Articles

SQL Server Database Performance Tuning

Posted on

Sei uno sviluppatore, DBA, o un amministratore di sistema bloccato con lunghe query in SQL Server, e hai bisogno di fare SQL Server performance tuning. Ti insegneremo il tuning di SQL Server in una serie di facili tutorial gratuiti:

  1. Misura quanto è veloce il server ora.
  2. Misura le prestazioni delle query.
  3. Misura le prestazioni degli indici.
  4. Misura le prestazioni delle impostazioni di SQL Server.
  5. Misura le prestazioni dell’hardware.
  6. Infine, se dovete comprare nuovi server, procuratevi una lista di controllo delle migliori pratiche di configurazione e fate un test di carico prima di andare in funzione.

Entriamo nei dettagli di ogni passo.

Misurare le prestazioni di SQL Server

Quando gli utenti vengono da voi e vi dicono che le loro query sono lente, non volete credere solo alle loro parole: volete sapere esattamente quali query sono lente e perché. Cominciamo con

  • sp_BlitzFirst® – questo strumento gratuito è come il tachimetro di SQL Server. Ti mostra quanto veloce sta andando SQL Server, e quali tipi di attesa ti impediscono di andare più veloce.
  • SQL Server Perfmon Tutorial – come impostare Perfmon, quali contatori di SQL Server Perfmon tracciare, e cosa significano gli indicatori.
  • Guarda Brent Tune Servers – a Microsoft Ignite 2015, ha preso diversi carichi di lavoro di SQL Server, ha trovato il collo di bottiglia, e poi ha modificato varie impostazioni per correzioni rapide.

Poi, prima di iniziare a cambiare le cose, chiedete quali parti del server siete autorizzati a cambiare. La Manager’s Guide to Tuning SQL Server vi dà una semplice lista di controllo di quali parti potete modificare, cambiare o sostituire completamente.

Come ottimizzare le query SQL

Se avete un’applicazione interna e vi è permesso di ottimizzare le query, ecco alcuni modi per trovare le query più lunghe in SQL Server e come aumentare le loro prestazioni. Per prima cosa, abbiamo bisogno di trovare quali query ottimizzare, ed ecco gli strumenti di ottimizzazione delle prestazioni delle query che uso:

  • Per trovare le query più lunghe, usate lo script gratuito sp_BlitzCache. Non c’è bisogno di installare nulla in anticipo, e funziona su tutte le versioni supportate di SQL Server dal 2008 in poi. (Funziona anche nel cloud.)
  • Per trovare le query più lunghe in esecuzione in questo momento, eseguite sp_BlitzWho. Mostra le query dalla più lunga alla più breve, e ti dà i loro piani di esecuzione.

Si noterà che non ho detto di catturare le query lente con SQL Profiler. Profiler non è un buon monitoraggio delle prestazioni di SQL Server: in realtà fa sì che tutte le query vengano eseguite più lentamente. E’ molto meglio usare la cache del piano come mostrato sopra.

Una volta trovate le costose query SQL che avete bisogno di mettere a punto, ecco i miei suggerimenti preferiti per la messa a punto delle prestazioni:

  • Guardate Brent che mette a punto le query – vi siete mai chiesti come lo fa qualcun altro? Sbirciate oltre la spalla di Brent in questo tutorial gratuito su SQL Server.
  • 7 cose che gli sviluppatori dovrebbero sapere su SQL – compreso il motivo per cui le funzioni raramente funzionano bene, perché WITH NOLOCK non significa che non c’è il blocco, e altro ancora.
  • Come misurare i miglioramenti delle prestazioni – Kendra spiega come utilizzare le statistiche da SSMS.
  • Come leggere i piani di esecuzione delle query e sintonizzarle per farle andare più veloci.

Come fare il tuning delle prestazioni degli indici

Se non ti è permesso ottimizzare le query SQL, ma hai comunque bisogno di velocizzarle, allora potresti aver bisogno di progettare indici non raggruppati e indici di copertura. Questo può aumentare le prestazioni di una query SQL senza

voglia di rendere le strutture del database più efficienti in modo che SQL Server lavori meno, ecco le nostre risorse:

  • sp_BlitzIndex® – eseguilo nel tuo database per un controllo di sanità mentale gratuito. Mostra gli indici mancanti, gli indici inutilizzati, i duplicati, gli heap e altro ancora, e spiega perché stanno uccidendo le vostre prestazioni.
  • Risorse per l’indicizzazione – i nostri post e video preferiti sul tuning degli indici.
  • Raccomandazioni sui libri di SQL Server – ok, i libri non sono gratuiti, ma i nostri consigli sì. Abbiamo scelto i migliori libri per principianti, avanzati e per la messa a punto delle prestazioni.
  • Partizionamento delle tabelle – questa funzione sembra un ottimo modo per dividere grandi tabelle, ma si presenta con alcuni grossi inconvenienti.
  • Come mettere a punto gli indici – e rendere le query di SQL Server più veloci.

Performance Tune SQL Server’s Settings

Sorprendentemente, molte delle impostazioni di default di SQL Server possono portare a cattive prestazioni. Parliamo di cosa è necessario fare:

  1. Esegui sp_Blitz® sul server. È un controllo gratuito dello stato di salute che cattura molti colli di bottiglia comuni delle prestazioni.
  2. Controlla la nostra lista di controllo per l’installazione di SQL Server – alcune semplici modifiche alla configurazione possono farti ottenere un aumento delle prestazioni del 20-30% fin dall’inizio senza spendere soldi extra.
  3. Rivedi la lista di controllo delle prestazioni scadenti – le 5 cose di Jeremiah che risolvono le cattive prestazioni di SQL Server.
  4. Guida del Sysadmin alla memoria di SQL Server – perché sqlserver.exe non sta usando molta memoria? Come puoi dire se ne serve di più?

Tune performance dell’hardware

Hey, a volte, buttare l’hardware è la soluzione più veloce, facile ed economica.

  • Qual è il più piccolo SQL Server che dovresti costruire? – Brent spiega perché 96 GB di RAM non sono poi così tanti – specialmente se li si confronta con i costi delle licenze di SQL Server.
  • Risultati dei test di carico SSD RAID – Esattamente quanto sono veloci gli SSD di consumo, specialmente quando li si mette dietro un controller RAID?
  • Storage condiviso per SQL Server – facciamo molto tuning SAN, e abbiamo raccolto le nostre risorse preferite.
  • Migliori pratiche di virtualizzazione – configurazioni di licenze, recuperabilità e prestazioni.
  • Virtualizzazione, SAN e hardware per SQL Server – un corso online di 7 ore che insegna come impostare le cose e metterle a punto.

Costruire e testare il carico di nuovi server SQL

Quando state pianificando quanto grande sia un server da costruire, iniziate con il video di Brent da Microsoft TechEd 2012, Costruire i server SQL più veloci. Spiega i due modelli di accesso comuni per i database (OLTP e data warehousing) e vi dà risorse su quale hardware scegliere per ciascuno.

Per i data warehouses, andate alla Microsoft Fast Track Landing Page, ma PRIMA DI CLICCARE, questa pagina ha un sacco di roba di marketing, e dovete sapere cosa state cercando. Concentratevi sulle configurazioni di riferimento e sulle guide di configurazione. Ce ne sono alcune neutre per i fornitori di Microsoft, e poi ci sono guide specifiche per i fornitori di Dell, HP, IBM, ecc. Potresti dover scorrere fino in fondo per vedere le cose specifiche del fornitore.

Una volta che il server è costruito, ecco le nostre risorse preferite per il test di carico e la configurazione:

  • Quanto è veloce il tuo storage? – Vi mostro come utilizzare lo strumento gratuito CrystalDiskMark per fare un test di carico veloce su unità a stato solido e SAN.
  • Come testare le prestazioni SAN con SQLIO – SQLIO è probabilmente lo strumento dal nome peggiore della storia: non ha nulla a che fare con i database. E’ comunque molto utile per testare i colli di bottiglia.

Avete bisogno di una consulenza su SQL Server? Siamo consulenti di performance tuning.

Siamo specializzati nel rendere Microsoft SQL Server veloce e affidabile.

I nostri clienti sono diversi: siti dot-com, hedge fund, ospedali, fornitori di software, e fino a piccoli negozi da 1-2 persone. Hanno tutti una cosa in comune: sono frustrati con i loro SQL Server, e hanno bisogno di risposte veloci e convenienti.

Ma probabilmente ci avete visto presentare alle conferenze di tutto il mondo, e potreste anche aver imparato qualcosa. Amerai i nostri corsi di formazione in persona e i video di formazione.

Vuoi un aiuto più veloce e personalizzato? Offriamo un check-up della salute e delle prestazioni di SQL Server che arriva rapidamente alla causa principale dei problemi e vi mostra come risolverli. Contattateci ora per saperne di più.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *