E se ti prendessi tutta la fatica di implementare o aggiornare a un nuovo SQL Server per un'esperienza migliore per i tuoi clienti e loro si lamentassero del fatto che le cose erano in realtà peggiori?
Non saresti preoccupato se saltassi attraverso tutti quegli ostacoli tecnici e aziendali per ottenere prestazioni migliori di SQL Server e poi non lo facessi?
Forse avresti dovuto condurre alcuni test delle prestazioni di SQL Server prima di entrare in produzione. Allora avresti saputo se la tua performance sarebbe migliorata, rimasta la stessa o, peggio di tutto, sarebbe diminuita.
Ma almeno non saresti stato spiacevolmente sorpreso.
Il ponte delle prestazioni di SQL Server che tutti noi attraversiamo
Che si tratti di passare da un altro database a SQL Server o di eseguire l'aggiornamento da una versione precedente di SQL Server a una più recente, alla fine è stato necessario superare il ponte delle prestazioni.
"Funzionerà davvero meglio di prima?" ha chiesto il tuo capo.
"Oh, certo", hai detto. “Con la virtualizzazione dei dati in SQL Server 2019 possiamo eseguire query senza spostare o replicare i dati. E c'è l'ottimizzazione automatica con Intelligence Query Processing per aumentare le query. I dati voleranno fuori dai server". Eri così sicuro di aver scritto "VOLA" in maiuscolo.
Quindi, come avresti potuto testare meglio le tue prestazioni?
4 modi per testare le prestazioni . . .
Brent Ozar, straordinario esperto di SQL Server, ti spiega come controllare le prestazioni su un nuovo SQL Server:
- in modo semplice, confrontando il prima e il dopo su un backup completo e su CHECKDB
- il modo semplice ma sbagliato, con un carico di lavoro sintetico e TPC-C in HammerDB
- nel modo più difficile, testare le singole query con sp_BlitzCache, il suo script di analisi della cache dei piani
- nel modo più difficile, eseguendo le stesse query che esegui in produzione
Ma come chiarisce Brent, monitorare le prestazioni del tuo server SQL e scoprire che è diminuito dell'X percento è solo l'inizio; devi ancora capire da dove viene il colpo.
Ciò significa cercare le tendenze nei dati sul rendimento nell'arco di intere settimane e mesi, non solo nelle ultime ore.
Più punti dati e cronologia hai, migliore è l'immagine che puoi assemblare di ciò che sta accadendo all'interno, sotto e intorno al tuo ambiente SQL Server.
E più calcoli puoi utilizzare per tutti quei dati, più velocemente puoi analizzarli.
Monitoraggio delle prestazioni di SQL Server:sembra un lavoro per il cloud
Sì. È un lavoro per il cloud, l'unico posto in cui puoi scalare abbastanza lontano da raccogliere e analizzare tutti quei dati per un quadro ampio e approfondito di come SQL Server sta consumando risorse. E come ha consumato queste risorse nel tempo. Ad esempio:
- In determinate ore del giorno o del mese, le query eseguite di frequente devono essere lette dal disco anziché dalla cache del buffer, che è la copia in memoria delle pagine del database utilizzate di recente. Hai bisogno di allocare più memoria alla tua cache del buffer? Puoi risparmiare altra memoria per questo?
- Lo stesso per l'aspettativa di vita della pagina. Se è basso, è probabilmente perché SQL Server rimuove le pagine dalla cache del buffer troppo frequentemente e deve eseguire ricerche dall'archivio anziché dalla memoria. Ciò ostacola le prestazioni.
- Il tempo di attesa I/O massimo è troppo alto? Com'è la tendenza? Questo è un suggerimento che il dispositivo I/O potrebbe essere saturo.
- Quanto è lunga la coda del processore adesso? Quanto tempo è di solito? Troppi thread in attesa costante possono indicare una congestione del processore.
- La CPU sta funzionando contro i limiti che il tuo server può gestire? Cosa succede se non riesci più a scalare il server? Se sei sicuro che le tue query siano ben sintonizzate e che le altre risorse di sistema siano adeguate, potresti dover aggiungere un socket per hardware fisico o vCPU alle tue VM.
- Gli indici frammentati sono indici lenti, ma non sai che sono i colpevoli finché non controlli i livelli di frammentazione. Vedere gli effetti della riorganizzazione e della ricostruzione nel tempo può aiutarti a mettere in atto un processo di manutenzione dell'indice affidabile.
Trovare problemi come quelli in tutti i tuoi database locali e cloud diventa più facile e veloce quando puoi monitorare le prestazioni del tuo server SQL dal cloud. Soprattutto, puoi monitorare da qualsiasi luogo nella galassia conosciuta quando tutto il calcolo, l'archiviazione e l'analisi sono nel cloud e sei a pochi clic di distanza in qualsiasi browser.
Inizia a testare le prestazioni di SQL Server nel cloud
In Quest, nessuno deve dirci due volte che i nostri clienti desiderano strumenti basati sul cloud, sia per la migrazione al cloud, il monitoraggio delle prestazioni o Office 365. Stiamo rendendo disponibili più dei nostri prodotti come offerte cloud perché le tecnologie e i mercati li stanno attirando lì.
Quindi, come si esegue il test delle prestazioni sui server SQL nuovi o aggiornati?
- Eseguo CHECKDB.
- Eseguo HammerDB.
- Eseguo gli strumenti di Brent Ozar.
- Testo con carichi di lavoro di produzione.
- Lancio i dadi e aspetto che gli utenti si lamentino.
- Ho persone che lo fanno per me.
- Uso Spotlight Cloud di Quest. Dovresti anche tu.