Ho discusso con un DBA e un paio di ragazzi hardware su problemi di prestazioni sul nostro server SQL. Normalmente tutto va bene, tuttavia nelle ultime settimane abbiamo avuto enormi picchi di ritardo nel server sql. È chiaro che SQL Server è in attesa sull'I / O del disco. Ma continuo a sentirmi dire che SQL Server richiede I / O anormalmente elevati. Non è così. Vedo da ciò che sta funzionando che non c'è nulla di normale, e tutto ciò che la DBA si preoccupa di guardare è ciò che sta causando il blocco e così via, il che è inutile. Ad esempio, la cosa principale che vediamo fare il backup è l'operazione sul database ASPState, che stiamo usando per gestire lo stato della sessione ASP sui server web. Queste operazioni normalmente non vengono mai visualizzate sui risultati attivi di Sp_who2 perché avvengono così rapidamente. Il database è in modalità di ripristino semplice e la registrazione è di importanza fondamentale. Tuttavia durante questi picchi di ritardo possiamo vedere molte operazioni di selezione e aggiornamento sul database bloccate o in attesa. Sono sicuro che ciò che sta succedendo è che qualcuno o qualche lavoro sta eseguendo qualcosa che sta causando l'utilizzo del disco heavey sugli array raid utilizzati per quel registro di database e file di dati. Il problema lo sta dimostrando, dal momento che nessuno vuole ammettere che stanno facendo qualcosa che sta uccidendo il nostro sito web.
La mia domanda è: quali contatori delle prestazioni o qualunque cosa sia possibile registrare che possa aiutare a dimostrare che il server SQL è in attesa sull'I / O, ma non perché richiede più del normale, perché il disco è occupato a rispondere alle richieste del server SQL più rapidamente di quanto farebbe normalmente?