Monitorare e risolvere i problemi delle prestazioni di archiviazione

In questo argomento sono elencati i contatori delle prestazioni che si consiglia di utilizzare per monitorare le prestazioni dei database SQL Server in esecuzione nell'ambiente Microsoft Office SharePoint Server 2007. Sono inoltre elencati i valori di integrità approssimativi per ogni contatore.

Per informazioni dettagliate sul monitoraggio delle prestazioni e sull'utilizzo dei contatori di prestazioni, vedere Monitoraggio delle prestazioni (https://go.microsoft.com/fwlink/?linkid=105584&clcid=0x410).

Contatori dei server fisici da monitorare

Monitorare i contatori seguenti per garantire l'integrità dei server:

  • Processore: % Tempo processore: _Totale   Questo contatore mostra la percentuale di tempo in cui il processore esegue i processi dell'applicazione o del sistema operativo diversi da Inattivo. Nel computer in cui è in esecuzione SQL Server questo contatore deve essere mantenuto a una percentuale compresa tra il 50% e il 75%. In caso di overload costante, verificare se è presente un'attività anomala dei processi o se è necessaria altra CPU per il server.

  • Sistema: Lunghezza coda processore   Questo contatore mostra il numero di thread nella coda del processore. Monitorare questo contatore per verificare che si mantenga su valori inferiori a due volte il numero delle CPU core.

  • Memoria: Mbyte disponibili   Questo contatore mostra la quantità di memoria fisica, in megabyte, disponibile per i processi in esecuzione nel computer. Monitorare questo contatore per verificare che la RAM fisica disponibile si mantenga a un livello pari almeno al 20% del totale.

  • Memoria: Pagine/sec   Questo contatore mostra la frequenza di lettura o scrittura delle pagine nel disco per risolvere eventuali errori di interruzione di pagina. Monitorare questo contatore per verificare che si mantenga su un valore inferiore a 100.

Per ulteriori informazioni e per i metodi di risoluzione dei problemi relativi alla memoria, vedere Monitoraggio dell'utilizzo della memoria(informazioni in lingua inglese) (https://go.microsoft.com/fwlink/?linkid=105585&clcid=0x410).

Contatori disco da monitorare

Monitorare i contatori seguenti per garantire l'integrità dei dischi. Si noti che i valori seguenti rappresentano valori misurati nel tempo, non valori che si presentano durante un picco improvviso o basati su una singola misurazione.

  • Disco fisico: % Tempo disco: DataDrive   Questo contatore mostra la percentuale di tempo trascorso durante il quale l'unità disco selezionata è impegnata a gestire le richieste di lettura o scrittura. Monitorare questo contatore per verificare che si mantenga su valori inferiori a due volte il numero dei dischi.

  • Disco logico: Trasferimenti disco/sec   Questo contatore mostra la frequenza di esecuzione delle operazioni di lettura e scrittura sul disco. Utilizzare questo contatore per monitorare le tendenze esponenziali e le previsioni in modo appropriato.

  • Disco logico: Byte letti da disco/sec e Disco logico: Byte scritti su disco/sec   Questi contatori mostrano la frequenza di trasferimento dei byte dal disco durante le operazioni di lettura o scrittura.

  • Disco logico: Media byte letti da disco   Questo contatore mostra il numero medio di byte trasferiti dal disco durante le operazioni di lettura. Questo valore può indicare la latenza del disco, poiché operazioni di lettura più estese possono determinare un leggero aumento della latenza.

  • Disco logico: Media byte scritti su disco   Questo contatore mostra il numero medio di byte trasferiti nel disco durante le operazioni di scrittura. Questo valore può indicare la latenza del disco, poiché operazioni di scrittura più estese possono determinare un leggero aumento della latenza.

  • Disco logico: Lunghezza corrente coda del disco   Questo contatore mostra il numero di richieste in sospeso nel disco al momento della raccolta dei dati sulle prestazioni. Per questo contatore i valori bassi indicano condizioni migliori. I valori superiori a 2 per disco possono indicare un collo di bottiglia e devono essere approfonditi. Di conseguenza, un valore fino a 8 può essere accettabile per un LUN composto da 4 dischi. I colli di bottiglia possono creare un backlog che si estende oltre il server che attualmente accede al disco e che determina lunghi tempi di attesa per gli utenti. Le soluzioni possibili a un collo di bottiglia consistono nell'aggiunta di altri dischi alla matrice RAID, nella sostituzione dei dischi esistenti con dischi più veloci o nello spostamento di alcuni dati in altri dischi.

  • Disco logico: Lunghezza media coda del disco   Questo contatore mostra il numero medio delle richieste di lettura e scrittura messe in coda per il disco selezionato durante l'intervallo di campionamento. La regola prevede la presenza di un massimo di due richieste di lettura e scrittura in sospeso per disco, ma può risultare difficile misurare questo valore a causa della virtualizzazione dell'archiviazione e delle differenze nei livelli RAID tra le configurazioni. Cercare lunghezze della coda del disco superiori alla media in combinazione con latenze del disco superiori alla media. Questa combinazione può indicare che la cache della matrice di archiviazione è utilizzata in modo eccessivo o che la condivisione del disco con altre applicazioni incide negativamente sulle prestazioni.

  • Disco logico: Media letture disco/sec e Disco logico: Media scritture disco/sec   Questi contatori mostrano la durata media, in secondi, di un'operazione di lettura o di scrittura nel disco. Monitorare questi contatori per verificare che restino al di sotto dell'85% della capacità del disco. I tempi di accesso al disco aumentano in maniera esponenziale se le operazioni di lettura o scrittura superano l'85% della capacità del disco. Per determinare la capacità specifica dell'hardware in uso, consultare la documentazione del fornitore oppure utilizzare lo strumento SQLIO Disk Subsystem Benchmark Tool per calcolarla. Per ulteriori informazioni, vedere SQLIO Disk Subsystem Benchmark Tool(informazioni in lingua inglese) (https://go.microsoft.com/fwlink/?linkid=105586&clcid=0x410).

    • Disco logico: Media letture disco/sec   Questo contatore mostra la durata media, in secondi, di un'operazione di lettura dal disco. In un sistema ben configurato, i valori ideali sono compresi tra 1 e 5 millisecondi (ms) per i registri (idealmente 1 ms in una matrice memorizzata nella cache) e tra 4 e 20 ms per i dati (idealmente meno di 10 ms). Si possono verificare latenze maggiori durante le ore di punta, ma se si presentano regolarmente valori elevati, è necessario investigarne le cause.

    • Disco logico: Media scritture disco/sec   Questo contatore mostra la durata media, in secondi, di un'operazione di scrittura sul disco. In un sistema ben configurato, i valori ideali sono compresi tra 1 e 5 ms per i registri (idealmente 1 ms in una matrice memorizzata nella cache) e tra 4 e 20 ms per i dati (idealmente meno di 10 ms). Si possono verificare latenze maggiori durante le ore di punta, ma se si presentano regolarmente valori elevati, è necessario investigarne le cause.

    Quando si utilizzano configurazioni RAID con Media letture disco/sec o Media scritture disco/sec, utilizzare le formule elencate nella tabella seguente per determinare la frequenza di input e output nel disco.

    Livello RAID Formula

    RAID 0

    I/O per disco = (letture + scritture) / numero di dischi

    RAID 1

    I/O per disco = [letture + (2 * scritture)] / 2

    RAID 5

    I/O per disco = [letture + (4 * scritture)] / numero di dischi

    RAID 10

    I/O per disco = [letture + (2 * scritture)] / numero di dischi

    Ad esempio, se si dispone di un sistema RAID 1 con due dischi fisici e i contatori indicano i valori mostrati nella tabella seguente:

    Contatore Valore

    Media letture disco/sec

    80

    Disco logico: Media scritture disco/sec

    70

    Lunghezza media coda del disco

    5

    Il valore di I/O per disco può essere calcolato come segue: (80 + (2 * 70))/2 = 110

    La lunghezza della coda del disco può essere calcolata come segue: 5/2 = 2,5

    In questa situazione si presenta un caso limite di collo di bottiglia I/O.

Altri strumenti di monitoraggio

È anche possibile monitorare la latenza del disco e analizzare le tendenze utilizzando le viste a gestione dinamica DMV sys.dm_io_virtual_file_stats in SQL Server 2008. Per ulteriori informazioni, vedere sys.dm_io_virtual_file_stats (Transact-SQL) (https://go.microsoft.com/fwlink/?linkid=105587&clcid=0x410).

Risoluzione dei problemi

Se si verifica un collo di bottiglia in un disco o un RAID, valutare le azioni seguenti da intraprendere:

  1. Riposizionare alcuni file in un altro disco o matrice RAID.

  2. Aggiungere dischi alla matrice.

  3. Se non è possibile separare il contenuto, ad esempio se è disponibile un singolo file del database del contenuto, sostituire i dischi esistenti con dischi più veloci.

  4. Se possibile, suddividere il database del contenuto interessato in diversi database, ovvero riposizionare o suddividere e riposizionare le raccolte siti utilizzando strumenti quali lo strumento da riga di comando Stsadm.exe oppure Microsoft Office SharePoint Designer. Se il problema persiste, ripetere la procedura di risoluzione dei problemi dal passaggio 1.