Monitoraggio e manutenzione di SharePoint Server 2013

SI APPLICA A:yes-img-132013 no-img-162016 no-img-192019 no-img-seSubscription Edition no-img-sopSharePoint in Microsoft 365

Questo articolo illustra i contatori di monitoraggio e prestazioni per le farm di SharePoint Server 2013. Per mantenere le prestazioni di sistema di SharePoint Server 2013, è necessario monitorare il server per identificare potenziali colli di bottiglia. Prima di poter eseguire un monitoraggio efficace, è necessario conoscere gli indicatori chiave che segnaleranno se una parte specifica della farm richiede attenzione, nonché essere in grado di interpretare tali indicatori. Se si rileva che la farm non soddisfa i requisiti definiti, è possibile adattarla aggiungendo o rimuovendo risorse hardware, modificando la topologia o cambiando la modalità di archiviazione dei dati.

Le informazioni contenute in questa sezione sono utili agli amministratori per configurare manualmente i contatori delle prestazioni e altre impostazioni. Per altre informazioni sul monitoraggio dell'integrità e sulla risoluzione dei problemi tramite gli strumenti di monitoraggio dell'integrità integrati nell'interfaccia del sito Web amministrazione centrale SharePoint, vedere gli articoli seguenti:

Prima di leggere questo articolo, è consigliabile leggere Panoramica della gestione della capacità e del ridimensionamento per SharePoint Server 2013.

Configurazione del monitoraggio

Di seguito è riportato un elenco delle impostazioni che è possibile modificare per monitorare l'ambiente nelle fasi iniziali e per determinare se è necessario apportare eventuali modifiche. Considerare che il potenziamento delle funzionalità di monitoraggio influirà sullo spazio su disco richiesto dal database servizio di utilizzo. Nel momento in cui l'ambiente è stabile e non è più necessario eseguire un monitoraggio dettagliato, è possibile ripristinare i valori predefiniti delle impostazioni riportate di seguito.

Impostazione Valore Note
Protezione da attacchi flood al registro eventi
Disabilitato
Il valore predefinito è Attivata. Può essere disattivata per raccogliere il maggior numero possibile di dati di monitoraggio. Per le normali operazioni, è consigliabile attivarla.
Pianificazione processi timer
Importazione dati di utilizzo di Microsoft SharePoint Foundation
5 minuti
Il valore predefinito è 30 minuti. Impostando un valore più basso, i dati vengono importati nel database servizio di utilizzo con maggiore frequenza e questo è particolarmente utile durante la risoluzione dei problemi. Per le normali operazioni, è consigliabile impostare 30 minuti.
Provider di diagnostica
Attiva tutti i provider di diagnostica
Abilitato
Il valore predefinito è Disattivata tranne per il provider "Monitoraggio dello stato della ricerca - Traccia eventi". Questi provider raccolgono i dati di integrità per diversi componenti e funzionalità. Per le normali operazioni, è possibile ripristinare il valore predefinito.
Imposta intervalli pianificazione "job-diagnostics-performance-counter-wfe-provider" e "job-diagnostics-performance-counter-sql-provider"
1 minuto
Il valore predefinito è 5 minuti. Impostando un valore più basso, il polling viene eseguito con maggiore frequenza e questo è particolarmente utile durante la risoluzione dei problemi. Per le normali operazioni, è consigliabile impostare 5 minuti.
Varie
Attiva traccia stack per richieste di contenuto
Abilitato
Il valore predefinito è Disattivata. Attivando questa impostazione, è possibile effettuare la diagnosi degli errori relativi alle richieste di contenuto utilizzando l'analisi dello stack del processo. Per le normali operazioni, deve essere disattivata.
Attiva dashboard di sviluppo
Abilitato
Il valore predefinito è Disattivata. Attivando questa impostazione, è possibile effettuare la diagnosi delle pagine lente o di altri problemi utilizzando il dashboard di sviluppo. Per le normali operazioni e quando la risoluzione dei problemi non è più necessaria, deve essere disattivata.
Raccolta dati di utilizzo
Importazione dei dati di utilizzo del contenuto
Esportazione dei dati di utilizzo del contenuto
Richieste di pagina
Uso caratteristica
Utilizzo query di ricerca
Utilizzo inventario siti
Processi timer
Utilizzo valutazioni
Abilitato
Attivando la registrazione di questa serie di contatori, è possibile raccogliere un maggior numero di dati di utilizzo dall'intero ambiente e comprendere meglio i modelli di traffico all'interno dell'ambiente.

Contatori delle prestazioni

Se ci si avvale del database servizio di utilizzo, è possibile aggiungervi i contatori delle prestazioni utili per il monitoraggio e la valutazione delle prestazioni della farm, in modo che i relativi valori vengano registrati automaticamente a intervalli specifici (ogni 30 minuti per impostazione predefinita). In questo modo, è possibile eseguire query sul database servizio di utilizzo per recuperare tali contatori e rappresentare in un grafico i risultati nel tempo. Di seguito è riportato un esempio di come utilizzare il cmdlet Add-SPDiagnosticsPerformanceCounter di PowerShell per aggiungere il contatore % Tempo processore al database servizio di utilizzo. Deve essere eseguito solo in uno dei server Web:

Add-SPDiagnosticsPerformanceCounter -Category "Processor" -Counter "% Processor Time" -Instance "_Total" -WebFrontEnd

Esistono diversi contatori delle prestazioni generici che è necessario monitorare per qualsiasi sistema server. La tabella seguente descrive questi contatori delle prestazioni.

Contatore delle prestazioni Descrizione
Processore
È consigliabile monitorare le prestazioni del processore per controllare che il relativo utilizzo complessivo non resti costantemente a livelli elevati (oltre l'80%) perché ciò significherebbe che il sistema non sarebbe in grado di gestire picchi di attività improvvisi. Tale verifica è inoltre utile per evitare che un problema relativo a un componente generi un effetto domino, causando un malfunzionamento anche dei componenti restanti. Se ad esempio si dispone di tre server Web, è opportuno verificare che l'utilizzo medio della CPU di tutti i server sia inferiore al 60% in modo che, in caso di guasto di uno di essi, gli altri due abbiano ancora margine per gestire il carico aggiuntivo.
Interfaccia di rete
Monitorare la velocità con cui i dati vengono inviati e ricevuti tramite la scheda di interfaccia di rete. Tale valore deve restare al di sotto del 50% della capacità di rete.
Dischi e Cache
Sono disponibili diverse opzioni del disco logico che è consigliabile monitorare regolarmente. Lo spazio su disco disponibile è importante in qualsiasi studio sulla capacità, ma è anche necessario esaminare il tempo in cui il disco è inattivo. A seconda dei tipi di applicazioni o servizi in esecuzione nei server, è possibile esaminare i tempi di lettura e scrittura del disco. L'accodamento esteso per la funzione di scrittura o lettura influirà sulle prestazioni. La cache ha un effetto importante sulle operazioni di lettura e scrittura. È necessario monitorare l'aumento degli errori della cache.
Memoria e File di paging
Monitorare la quantità di memoria fisica disponibile per l'allocazione. In caso di memoria insufficiente, l'utilizzo del file di paging sarà eccessivo e aumenterà il numero degli errori di pagina al secondo.

Contatori di sistema

Nella tabella riportata di seguito vengono fornite informazioni sugli oggetti e sui contatori di sistema che è possibile aggiungere alla serie di contatori monitorati nel database servizio di utilizzo tramite SPDiagnosticPerformanceCounter in un server Web.

Oggetti e contatori Descrizione
Processore
% Tempo processore
Indica l'utilizzo del processore in un intervallo di tempo. Se l'utilizzo resta costantemente a livelli troppo elevati, possono verificarsi ripercussioni negative sulle prestazioni. Ricordare di considerare il valore "Total" nei sistemi multiprocessore. È possibile misurare l'utilizzo anche per ogni processore per garantire prestazioni bilanciate tra core.
Disco
- Lunghezza media coda del disco
Indica il numero medio di richieste sia di lettura che di scrittura accodate per il disco selezionato durante l'intervallo di tempo campione. Una coda su disco più lunga può non rappresentare un problema, sempre che le operazioni di lettura/scrittura su disco non ne risentano e che il sistema sia in grado di funzionare in modo stabile senza espandere l'accodamento.
Lunghezza media lettura coda del disco
Numero medio di richieste di lettura accodate.
Lunghezza media scrittura coda del disco
Numero medio di richieste di scrittura accodate.
Letture disco/sec
Numero di operazioni di lettura su disco al secondo.
Scritture disco/sec
Numero di operazioni di scrittura su disco al secondo.
Memoria
- Mbyte disponibili
Indica la quantità di memoria fisica disponibile per l'allocazione. In caso di memoria insufficiente, l'utilizzo del file di paging sarà eccessivo e aumenterà il numero degli errori di pagina al secondo.
- Errori cache/sec
Questo contatore indica la frequenza con cui si verificano gli errori quando una pagina viene ricercata nella cache del file system e non viene trovata. L'errore può essere a livello software se la pagina è in memoria oppure a livello hardware se la pagina è su disco.
Un utilizzo sostenuto della cache per le operazioni di lettura e scrittura può influire in modo significativo sulle prestazioni del server. È necessario monitorare un eventuale aumento degli errori della cache, indicato da una riduzione del valore di Letture veloci asincrone/sec o Letture anticipate/sec.
- Pagine/sec
Questo contatore indica la velocità con cui le pagine vengono lette o scritte su disco per risolvere errori di pagina a livello hardware. Se tale valore aumenta, significa che vi sono problemi di prestazioni per l'intero sistema.
File di paging
- % In uso e Utilizzo % massimo
Il file di paging del server, a volte indicato come file di scambio, contiene indirizzi di memoria "virtuale" su disco. Gli errori di pagina si verificano quando un processo deve arrestarsi e attendere che le risorse "virtuali" necessarie vengano recuperate dal disco in memoria. La frequenza degli errori sarà maggiore se la memoria fisica non è adeguata.
NIC
- Totale byte/sec
Questa è la velocità con cui i dati vengono inviati e ricevuti tramite la scheda di interfaccia di rete. Potrebbe essere necessario indagare ulteriormente se tale velocità è superiore al 40-50% della capacità di rete. Per un'indagine più precisa, monitorare Byte ricevuti/sec e Byte inviati/sec.
Procedura
- Working set
Questo contatore indica le dimensioni correnti (in byte) del working set per un determinato processo. Tale memoria è riservata per il processo, anche se non è in uso.
- % Tempo processore
Questo contatore indica la percentuale di tempo del processore utilizzata da un determinato processo.
Conteggio thread (_Total)
Numero corrente di thread.
ASP.NET
Totale richieste
Numero totale di richieste dall'avvio del servizio.
Richieste in coda
SharePoint Server 2013 fornisce i blocchi predefiniti per le pagine HTML di cui viene eseguito il rendering nel browser utente tramite HTTP. Questo contatore indica il numero di richieste in attesa di essere elaborate.
Tempo di attesa richiesta
Numero di millisecondi di attesa della richiesta più recente nella coda per l'elaborazione. Man mano che aumenta il numero degli eventi di attesa, peggiorano le prestazioni per il rendering delle pagine per gli utenti.
Richieste respinte
Numero totale di richieste non eseguite a causa di risorse del server insufficienti per l'elaborazione. Questo contatore rappresenta il numero di richieste che restituiscono un codice di stato HTTP 503, che indica che il server è troppo occupato.
Richieste in esecuzione (_Total)
Numero di richieste attualmente in esecuzione.
Richieste/sec (_Total)
Numero di richieste eseguite al secondo. Rappresenta la velocità effettiva corrente dell'applicazione. Con un carico costante, questo numero deve restare entro un determinato intervallo, bloccando altre attività nel server, ad esempio la Garbage Collection, il thread di eliminazione del contenuto della cache, gli strumenti server esterni e così via.
Memoria CLR .NET
Raccolte di generazione 0
Indica per quante volte viene eseguita la Garbage Collection degli oggetti di generazione 0, ovvero degli oggetti allocati più di recente, dall'avvio dell'applicazione. Questo numero è utile come rapporto generazione 0: generazione 1: generazione 2 per verificare che il numero di raccolte di generazione 2 non superi di molto le raccolte di generazione 0, idealmente di un fattore pari a 2.
Raccolte di generazione 1
Indica per quante volte viene eseguita la Garbage Collection degli oggetti di generazione 1 dall'avvio dell'applicazione.
Raccolte di generazione 2
Indica per quante volte viene eseguita la Garbage Collection degli oggetti di generazione 2 dall'avvio dell'applicazione. Il valore del contatore aumenta alla fine di una Garbage Collection di generazione 2, ovvero di una Garbage Collection completa.
Percentuale tempo in GC
Visualizza la percentuale di tempo trascorso impiegato per eseguire una Garbage Collection dall'ultimo ciclo di Garbage Collection. Questo contatore indica in genere il lavoro svolto dal Garbage Collector per raccogliere e compattare la memoria per conto dell'applicazione. Questo contatore viene aggiornato solo alla fine di ogni Garbage Collection. Questo contatore non è una media. Il valore riflette l'ultimo valore osservato. Questo contatore deve essere inferiore al 5% nel normale funzionamento.

Contatori di SQL Server

Nella tabella seguente vengono fornite informazioni su oggetti e contatori di SQL Server.

Oggetti e contatori Descrizione
Statistiche generali
Questo oggetto fornisce contatori per monitorare l'attività generale a livello di server, ad esempio il numero di connessioni correnti e il numero di utenti che si connettono e si disconnettono al secondo dai computer che eseguono un'istanza di SQL Server.
Connessioni utente
Questo contatore mostra il numero di connessioni utente nell'istanza di SQL Server. Se questo valore aumenta del 500% rispetto al valore di base, è possibile che si verifichi un rallentamento delle prestazioni.
Database
Questo oggetto fornisce contatori per monitorare le operazioni di copia bulk, la velocità effettiva di backup e ripristino e le attività del log delle transazioni. Monitorare le transazioni e il relativo log per determinare l'entità dell'attività degli utenti nel database e la quantità di dati contenuta in tale log. L'entità dell'attività degli utenti può determinare le prestazioni del database e influire sulle dimensioni del log, il blocco e la replica. Il monitoraggio di attività del log di basso livello per misurare l'attività degli utenti e l'utilizzo delle risorse consente di individuare i colli di bottiglia delle prestazioni.
Transazioni/sec
Questo contatore mostra il numero di transazioni in un determinato database o nell'intera istanza di SQL Server al secondo. Tale numero è utile per creare un riferimento di base e per eseguire la risoluzione dei problemi.
Serrature
Questo oggetto fornisce informazioni sui blocchi di SQL Server sui singoli tipi di risorse.
Numero di deadlock/sec
Questo contatore mostra il numero di deadlock in SQL Server al secondo. Tale valore normalmente deve essere uguale a 0.
Tempo medio di attesa (ms)
Questo contatore indica il tempo medio di attesa per ogni richiesta di blocco che ha comportato un'attesa.
Tempo di attesa blocchi (ms)
Questo contatore indica il tempo di attesa totale per i blocchi nell'ultimo secondo.
Attese di blocco/sec
Questo contatore indica il numero di blocchi al secondo che non sono stati soddisfatti immediatamente e hanno dovuto attendere la disponibilità di risorse.
Fermi
Questo oggetto fornisce contatori per monitorare i blocchi di risorse interni di SQL Server denominati latch. Il monitoraggio dei latch per determinare l'attività degli utenti e l'utilizzo delle risorse consente di identificare i colli di bottiglia delle prestazioni.
Tempo medio attesa latch (ms)
Questo contatore indica il tempo di attesa medio dei latch per le richieste di latch che sono dovute rimanere in attesa.
Attese latch/sec
Questo contatore indica il numero di richieste di latch al secondo che non è stato possibile soddisfare immediatamente.
Statistiche SQL
Questo oggetto fornisce contatori per monitorare la compilazione e il tipo di richieste inviate a un'istanza di SQL Server. Il monitoraggio del numero di compilazioni e ricompilazioni di query e del numero di batch ricevuti da un'istanza di SQL Server consente di ottenere un'indicazione della rapidità con cui SQL Server elabora le query degli utenti e dell'efficacia con cui Query Optimizer elabora le query.
Compilazioni SQL/sec
Questo contatore indica quante volte al secondo viene effettuato l'accesso al percorso del codice di compilazione.
Ricompilazioni SQL/sec
Questo contatore indica quante volte al secondo vengono avviate ricompilazioni delle istruzioni.
Cache dei piani
Questo oggetto fornisce contatori per monitorare il modo in cui SQL Server usa la memoria per archiviare oggetti come stored procedure, istruzioni Transact-SQL e trigger improvvisati e preparati.
Percentuale riscontri cache
Questo contatore indica il rapporto tra i riscontri cache e le ricerche per i piani.
Cache buffer
Questo oggetto fornisce contatori per monitorare il modo in cui SQL Server usa la memoria per archiviare le pagine di dati, le strutture dei dati interne e la cache e i contatori delle procedure per monitorare l'I/O fisico durante la lettura e la scrittura delle pagine di database di SQL Server.
Percentuale riscontri cache buffer
Questo contatore indica la percentuale di pagine trovate nella cache buffer senza dover effettuare operazioni di lettura dal disco. Il rapporto è il numero totale di riscontri nella cache diviso per il numero totale di ricerche nella cache dall'avvio di un'istanza di SQL Server.

Rimozione dei colli di bottiglia

I colli di bottiglia del sistema rappresentano un punto di contesa in cui sono presenti risorse insufficienti per gestire le richieste di transazioni degli utenti. Questi possono essere hardware fisico, ambiente operativo o basato su applicazioni. Spesso, il motivo del collo di bottiglia sarà un codice personalizzato inefficiente o soluzioni di terze parti e una revisione di tali soluzioni potrebbe produrre risultati migliori rispetto all'aggiunta di hardware. Un'altra causa comune di colli di bottiglia è una configurazione errata della farm o un'implementazione inefficiente della soluzione che struttura i dati in modo che richieda più risorse del necessario. Per un amministratore di sistema, è necessario gestire i colli di bottiglia monitorando costantemente le prestazioni. Quando si identifica un problema di prestazioni, è necessario valutare la soluzione migliore per rimuovere il collo di bottiglia. I contatori delle prestazioni e altre applicazioni di monitoraggio delle prestazioni, ad esempio SCOM, sono gli strumenti chiave per il rilevamento e l'analisi dei problemi, in modo da poter sviluppare una soluzione.

Risoluzione dei colli di bottiglia fisici

I colli di bottiglia fisici si basano su processore, disco, memoria e contesa di rete: troppe richieste sono in conflitto per un numero troppo ridotto di risorse fisiche. Gli oggetti e i contatori descritti nell'argomento Prestazioni di monitoraggio indicano dove si trova il problema di prestazioni, ad esempio processore hardware o ASP.NET. Per la risoluzione dei colli di bottiglia è necessario identificare il problema e quindi apportare una modifica o modifiche che attenuano il problema di prestazioni.

I problemi raramente si verificano istantaneamente; in genere si verifica una riduzione graduale delle prestazioni che è possibile tenere traccia se si esegue il monitoraggio regolarmente, usando lo strumento di monitoraggio delle prestazioni o un sistema più sofisticato, ad esempio SCOM. Per entrambe queste opzioni, in vari gradi, è possibile incorporare soluzioni all'interno di un avviso, sotto forma di testo di consulenza o comandi con script.

Potrebbe essere necessario risolvere i problemi di collo di bottiglia apportando modifiche alle configurazioni hardware o di sistema, dopo aver stabilito che non sono causati da una configurazione errata, da un codice personalizzato inefficiente o da soluzioni di terze parti o da un'implementazione inefficiente della soluzione. Nelle seguenti tabelle sono riportate le soglie per i diversi problemi e le possibili opzioni di risoluzione. Alcune di tali opzioni suggeriscono aggiornamenti o modifiche hardware.

Oggetti e contatori Problema Opzioni di risoluzione
Processore
Processore - % Tempo processore
Oltre il 75-85%.
Aggiornare il processore
Aumentare il numero di processori
Aggiungere ulteriori server
Disco
Lunghezza media coda del disco
Aumenta gradualmente, il sistema non è in una condizione stabile e si allungano i tempi di accodamento.
Aumentare il numero o la velocità dei dischi
Passare da una configurazione con array allo striping
Spostare parte dei dati in un server alternativo
% tempo di inattività
Inferiore al 90%.
Aumentare il numero di dischi
Spostare i dati in un disco o un server alternativo
% Spazio disponibile
Inferiore al 30%.
Aumentare il numero di dischi
Spostare i dati in un disco o un server alternativo
Memoria
Mbyte disponibili
Inferiore a 2 GB in un server Web.
Aggiungere memoria
> [! NOTA]> La memoria disponibile di SQL Server sarà insufficiente per progettazione e non sempre indica un problema.
Errori cache/sec
Superiore a 1.
Aggiungere memoria
Aumentare le dimensioni o la velocità della cache, se possibile
Spostare i dati in un disco o un server alternativo
Pagine/sec
Superiore a 10.
Aggiungere memoria
File di paging
% In uso e Utilizzo % massimo
Il file di paging del server, a volte indicato come file di scambio, contiene indirizzi di memoria "virtuale" su disco. Gli errori di pagina si verificano quando un processo deve arrestarsi e attendere che le risorse "virtuali" necessarie vengano recuperate dal disco nella memoria. La frequenza degli errori sarà maggiore se la memoria fisica non è adeguata.
Aggiungere memoria
NIC
Totale byte/sec
Oltre il 40-50% della capacità di rete. Questa è la velocità con cui i dati vengono inviati e ricevuti tramite la scheda di interfaccia di rete.
Indagare ulteriormente monitorando Byte ricevuti/sec e Byte inviati/sec
Valutare di nuovo la velocità della scheda di interfaccia di rete
Verificare il numero, le dimensioni e l'utilizzo dei buffer di memoria
Procedura
Working set
Superiore all'80% della memoria totale.
Aggiungere memoria
% Tempo processore
Oltre il 75-85%.
Aumentare il numero di processori
Ridistribuire il carico di lavoro in ulteriori server
ASP.NET
Totale di ricicli del pool di applicazioni
Diversi ricicli al giorno, con conseguenti rallentamenti intermittenti.
Verificare di non aver implementato impostazioni che eseguono automaticamente e inutilmente il riciclo del pool di applicazioni durante il giorno
Richieste in coda
Centinaia o migliaia di richieste accodate.
Implementare ulteriori server Web
Il valore massimo predefinito per questo contatore è 5000 ed è possibile modificare questa impostazione nel file Machine.config
Tempo di attesa richiesta
Man mano che aumenta il numero degli eventi di attesa, peggiorano le prestazioni per il rendering delle pagine per gli utenti.
Implementare ulteriori server Web
Richieste respinte
Superiore a 0.
Implementare ulteriori server Web

Vedere anche

Concetti

Esecuzione dei test delle prestazioni di SharePoint Server 2013

Pianificazione della capacità per SharePoint Server 2013

Ulteriori risorse

Capacity management and sizing overview for SharePoint Server 2013