Quando un utente o un'applicazione effettua richieste a un database, consuma risorse su quel sistema. Con l'aumento del numero di richieste, potresti riscontrare attese di risorse. Queste attese portano a colli di bottiglia delle prestazioni e, nel caso di database distribuiti su cloud, a costi mensili aggiuntivi! Quando si diagnosticano i colli di bottiglia delle prestazioni, il primo passaggio è capire quali risorse sono interessate.
Essere in grado di mappare un collo di bottiglia delle prestazioni a un'attesa di una risorsa specifica, quindi a un codice specifico e infine al carico di lavoro di un utente specifico ti consentirà di arrivare alla causa principale e risolvere il collo di bottiglia in modo permanente.
Ad esempio, potresti scoprire che un'applicazione è lenta perché la CPU è eccessivamente consumata sul server del database perché Matt nell'ufficio acquisti sta eseguendo un rapporto di inventario nel database dell'impianto.
Workload Analyzer di Spotlight Cloud è lo strumento che lo rende possibile grazie alla sua navigazione intuitiva.
Come utilizzare l'analizzatore del carico di lavoro di Spotlight Cloud
Per iniziare, puoi selezionare l'intervallo di tempo di interesse. Spotlight Cloud archivia un anno di dati, quindi puoi tornare a qualsiasi momento o intervallo di tempo dell'ultimo anno.
Quindi hai la possibilità di filtrare per risorsa. Ad esempio, se sai che il problema è relativo alla CPU, puoi selezionare la risorsa CPU. In questo modo vengono filtrate le informazioni relative a tutte le altre risorse, come I/O, blocchi e memoria, eliminando efficacemente il rumore bianco e rendendo più facile arrivare alla causa principale.
Pagina predefinita di Workload Analyzer
Esamina la dimensione dei database e ordinerà i database principali che consumano la maggior parte delle risorse dall'alto verso il basso e li ombreggia di conseguenza. Questo meccanismo di ordinamento viene preservato attraverso ogni iterazione di un drilldown.
Esplorazione nella dimensione del database
Inoltre, dovresti approfondire il database delle vendite perché è importante sapere qual è il comportamento delle attese in particolare all'interno del database più utilizzato. In questo esempio, sembra che la maggior parte del carico di lavoro fosse rappresentato dalla CPU (45,7%) e dalle risorse I/O (30,2%) e le loro velocità si avvicinano a 0,48 sec/s e 0,43 sec/s.
Esplorazione nella dimensione del database di vendita
In parallelo, la selezione della CPU filtrerà le altre risorse e produrrà una lettura personalizzata della sola CPU. La possibilità di isolare un carico di lavoro specifico è utile perché scherma visivamente le metriche che distraggono, consentendoti di concentrarti solo su ciò che ha la precedenza. Inoltre, gli indicatori di performance possono essere rappresentati graficamente uno sopra l'altro in modo da poter vedere visivamente le correlazioni.
Indicatori chiave di prestazione filtrati solo per le statistiche della CPU
Quindi, approfondisci i batch T-SQL. Questo ci consente di scoprire quali lotti all'interno del database di vendita sono i più gravosi.
Dall'analisi dei batch T-SQL
Poiché questo batch richiede un'elevata quantità di CPU, è importante sapere quali query all'interno di quel batch sono responsabili del costo aggiuntivo. L'uso del testo T-SQL insieme al piano di esecuzione mostra che la colpa è dell'operatore di ordinamento. SQL Optimizer prevede che l'addebito stimato sia del 97%. L'aggiunta di un indice può aiutare a ottimizzare le prestazioni.
Istruzioni T-SQL
Piano di esecuzione e analisi dei costi delle operazioni eseguite
Si noti che il selettore di risorse può essere configurato per evidenziare una risorsa una volta che il suo utilizzo supera una soglia predefinita. Ad esempio, puoi impostare il selettore per evidenziare le risorse di I/O se l'attesa è superiore al 30%.
Regolazione delle configurazioni del selettore di risorse per le risorse di I/O
Configurazioni aggiornate per Selettore risorse I/O applicate