Avamar: utilizzo di Perfmon di Microsoft Windows per il monitoraggio delle prestazioni di Avamar Client
Summary: Questo articolo spiega come utilizzare Perfmon per monitorare le caratteristiche delle prestazioni di Avamar Client in un ambiente Microsoft Windows.
Symptoms
Questo articolo è applicabile a tutte le versioni di Avamar Client che eseguono Windows.
Perfmon (Performance Monitor) può rappresentare un potente strumento di risoluzione dei problemi.
Può raccogliere le metriche delle prestazioni di Windows nel tempo, a intervalli specificati, e generare registri che possono essere analizzati graficamente per identificare i problemi di prestazioni del sistema.
Qui affrontiamo le metriche e come configurare correttamente questo strumento per raccoglierle.
Per ulteriori informazioni sull'analisi delle prestazioni di Avamar Client, consultare:
Cause
Resolution
Come accedere a Perfmon:
Premere Windows-W per aprire la finestra ESEGUI.
Digitare Perfmon.
Cosa misurare e quando
Si verificano colli di bottiglia quando una risorsa raggiunge la sua capacità, determinando un rallentamento delle prestazioni.
I colli di bottiglia sono causati da risorse insufficienti o configurate in modo errato, da componenti malfunzionanti e da richieste errate di risorse da parte di un programma.
Sono cinque le aree di risorse fondamentali che possono causare problemi di congestione e influire sulle prestazioni del server:
- Disco fisico
- Memoria
- Processo
- CPU
- Rete
Se una di queste risorse viene utilizzata in modo eccessivo, il server o l'applicazione può rallentare notevolmente o arrestarsi in modo anomalo.
Affrontiamo queste aree e indichiamo quali contatori e soglie possono aiutare a misurare le prestazioni di un server.
L'intervallo di campionamento ha un impatto significativo sulle dimensioni del file di registro e sul carico del server.
Impostare l'intervallo di campionamento in base al tempo medio trascorso prima che si verifichi il problema, in modo da stabilire una baseline prima che il problema si ripresenti. Ciò consente di individuare qualsiasi tendenza che determini un problema.
Quindici minuti rappresentano una finestra sufficiente per stabilire una baseline durante le normali operazioni.
- Se il tempo medio trascorso necessario perché si verifichi il problema è di circa quattro ore, impostare l'intervallo di campionamento su 15 secondi.
- Se il tempo necessario perché si verifichi il problema è pari o superiore a otto ore, impostare l'intervallo di campionamento su non meno di cinque minuti.
Queste linee guida consentono di evitare la creazione di un file di registro di grandi dimensioni, che renderebbe più difficile l'analisi dei dati.
Oggetti e contatori delle prestazioni
- Oggetti: componenti che gestiscono i dati sulle prestazioni
- Contatori: statistiche che descrivono le caratteristiche delle prestazioni specifiche di un particolare oggetto. Ad esempio, \PhysicalDisk\%Idle Time fornisce dati sulle prestazioni relative al tempo di inattività osservato da uno spindle.
- Istanze: più repliche che rappresentano una risorsa univoca. Osservando \PhysicalDisk\%Idle Time, si possono notare spindle diversi disponibili sul sistema e i corrispondenti valori di %Idle Time.
Intervallo campione
Tenere a mente lo scopo e la durata del monitoraggio.
Un intervallo di registrazione di 15 minuti è utile per gli intervalli di monitoraggio di routine.
L'intervallo di campionamento deve essere ridotto a un intervallo di tempo in grado di acquisire il problema.
Per problemi che si generano gradualmente, è possibile utilizzare intervalli di campionamento più lunghi.
Per problemi temporanei, utilizzare un breve intervallo di alcuni secondi. Questo intervallo di campionamento è utile per i problemi del sottosistema del disco.
Tenere presente la durata del monitoraggio durante l'impostazione dell'intervallo di campionamento.
Se il monitoraggio viene eseguito per più di otto ore, un intervallo di campionamento minore di 300 secondi può generare un file di grandi dimensioni. L'overhead dell'esecuzione del processo di raccolta stesso può influire sui risultati.
Come abilitare la registrazione di Perfmon
Aprire il prompt dei comandi come utente amministratore.
Copiare i seguenti comandi per avviare o arrestare l'acquisizione dei registri.
Il comando seguente crea un dataset di monitoraggio delle prestazioni.
Logman.exe create counter Avamar -o "c:\perflogs\Emc-avamar.blg" -f bincirc -v mmddhhmm -max 250 -c "\LogicalDisk(*)\*" "\Memory\*" "\Network Interface(*)\*" "\Paging File(*)\*" "\PhysicalDisk(*)\*" "\Processor(*)\*" "\Process(*)\*" "\Redirector\*" "\Server\*" "\System\*" -si 00:00:05 Start the logs with: Logman.exe start Avamar Stop the logs with: Logman.exe stop Avamar Above commands can be modified to collect SQL server Performance Monitor data during backups as: First create a folder for log collection as C:\SQL_Performance_Logs\ For default SQL instance run: Logman create counter Avamar_SQL_perf_log -f bin -c "\Network Interface(*)\*" "\Redirector\*" "\Paging File(*)\*" "\Memory\*" "\PhysicalDisk(*)\*" "\LogicalDisk(*)\*" "\Server\*" "\System\*" "\Process(*)\*" "\Processor(*)\*" "\SQLServer:Databases(*)\*" "\SQLServer:Buffer Manager\*" "\SQLServer:Memory Manager\*" "\SQLServer:SQL Statistics\*" -si 00:00:05 -max 800 -cnf 0 -o C:\SQL_Performance_Logs\AvamarSQL_perf_log.blg For named instance, replace server with instance name Logman create counter Avamar_SQL_perf_log -f bin -c "\Network Interface(*)\*" "\Redirector\*" "\Paging File(*)\*" "\Memory\*" "\PhysicalDisk(*)\*" "\LogicalDisk(*)\*" "\Server\*" "\System\*" "\Process(*)\*" "\Processor(*)\*" "\SQLServer:Databases(*)\*" "\SQLServer:Buffer Manager\*" "\SQLServer:Memory Manager\*" "\MSSQL$InstanceName:SQL Statistics\*" -si 00:00:05 -max 800 -cnf 0 -o C:\SQL_Performance_Logs\AvamarSQL_perf_log.blg start collecting logs: Logman start Avamar_SQL_perf_log stop log collection: Logman stop Avamar_SQL_perf_log
Contatori e relativi valori di soglia
Memoria
%Committed bytes in uso:
La memoria vincolata è la memoria fisica in uso per la quale è stato riservato spazio nel file di paging in caso sia necessario scriverlo su disco.
La dimensione del file di paging determina il limite di vincolo. Se il file di paging viene ingrandito, il limite di vincolo aumenta e il rapporto viene ridotto.
Questo contatore visualizza solo il valore percentuale corrente. Non è una media. Se questo valore è costantemente superiore al 80%, il page file potrebbe essere troppo piccolo.
Available bytes:
è la quantità di memoria fisica, in byte, immediatamente disponibile per l'allocazione a un processo o per l'utilizzo del sistema.
Raramente si tratta di un vincolo sui sistemi x64. Se questo valore scende costantemente al di sotto del 5% della RAM installata, è necessario investigare. Se il valore scende costantemente al di sotto dell'1% della RAM installata, si è verificato un problema preciso.
Committed Bytes:
La memoria vincolata è la memoria fisica con spazio riservato su uno o più file di paging del disco.
Su ogni disco rigido possono essere presenti uno o più file di paging.
Idealmente, questo contatore non dovrebbe mai cambiare. Eventuali modifiche indicano l'espansione del page file e devono essere esaminate immediatamente.
Voci libere della tabella delle pagine di sistema:
In passato si trattava di un problema sulle versioni x86 meno recenti. Su un server Windows Server 2003 SP2 che si avvia senza lo switch /3Gb, il valore è di circa 200.000 PTE.
In caso di avvio con lo switch /3Gb, il valore scende a circa 25.000 PTE.
Pool Nonpaged Bytes:
È la dimensione (byte) del pool non di paging. Si tratta di un'area della memoria di sistema (memoria fisica utilizzata dal sistema operativo) per oggetti che non possono essere scritti su disco, ma che devono rimanere nella memoria fisica finché non vengono allocati.
Se un pool non di paging è costantemente in esecuzione a un valore superiore all'80%, è possibile che si verifichi un problema di esaurimento del pool non di paging (ID evento 2019).
Pool Paged Bytes:
È la dimensione, in byte, del pool di paging, un'area della memoria di sistema (memoria fisica utilizzata dal sistema operativo) per gli oggetti che possono essere scritti su disco quando non vengono utilizzati.
Il pool di paging è una risorsa più grande del pool non di paging. Se questo valore è costantemente superiore al 70% della dimensione massima del pool configurata, è possibile che si verifichi un esaurimento del pool di paging (ID evento 2020).
Processore (verificare per CIASCUN processore e a livello complessivo)
%Interrupt time:
tempo impiegato dal processore a ricevere e gestire interruzioni hardware durante gli intervalli di campionamento.
Questo valore è un indicatore indiretto dell'attività dei dispositivi che generano interruzioni, ad esempio orologio di sistema, mouse, driver del disco, linee di comunicazione dati, schede di rete e altre periferiche.
Questi dispositivi interrompono il processore quando hanno completato un'attività o richiedono attenzione.
%DPC time:
Indica il tempo necessario per completare un'operazione di I/O. Analogamente a quanto riportato sopra, è necessario analizzare qualsiasi valore superiore al 25%.
%Privileged Time:
Tempo durante il quale il kernel del sistema operativo esegue operazioni. In genere, la soglia è inferiore al 30% per i server web o delle applicazioni.
%Processor Time:
È necessario analizzare i valori sostenuti superiori al 90% su un computer con un singolo processore o superiori all'80% su un computer con più processori.
Interfaccia di rete
Packets received discarded:
Consente di controllare potenziali problemi hardware. Valore di soglia maggiore di 1. Una possibile soluzione consiste nel regolare i buffer di rete.
Packets received errors:
Consente di controllare potenziali problemi hardware. Valore di soglia maggiore di 2.
Disco (per ogni disco)
%Idle time:
Questo contatore fornisce una misurazione precisa del tempo in cui il disco è stato inattivo, il che significa che tutte le richieste dal sistema operativo al disco sono state completate e non sono presenti richieste in sospeso.
Il calcolo si verifica in base alla creazione del timestamp di un evento da parte del sistema quando il disco diventa inattivo, quindi in base alla creazione del timestamp di un altro evento quando il disco riceve una nuova richiesta.
Al termine dell'intervallo di acquisizione, calcola la percentuale del tempo inattivo trascorso. Questo contatore varia da 100 (ovvero sempre inattivo) a 0 (ovvero sempre occupato).
Questo contatore determina con precisione la saturazione del sottosistema del disco.
Avg. Disk Queue Length:
Questo valore è uguale a (Disk Transfers/sec) *(Disk sec/Transfer).
Si basa sulla legge di Little della
teoria matematica delle code.
Si tratta di un valore derivato e non di una misurazione diretta. Qualsiasi valore inferiore al doppio del numero di spindle è un valore accettabile.
Avg Disk Sec/Transfer:
Visualizza il tempo medio impiegato per il completamento dei trasferimenti del disco, in secondi.
Anche se la scala è espressa in secondi, il contatore ha una precisione in millisecondi, il che significa che un valore di 0,004 indica che il tempo medio per il completamento dei trasferimenti del disco è stato di 4 millisecondi.
Questo è il contatore in Perfmon utilizzato per misurare la latenza di I/O. Di seguito sono riportati i valori di esempio. Possono variare in base alla qualità dei dischi utilizzati:
Reads Excellent < 08 Msec (.008 seconds) Good < 12 Msec (.012 seconds) Fair < 20 Msec (.020 seconds) Poor > 20 Msec (.020 seconds) Writes Excellent < 01 Msec (.001 seconds) Good < 02 Msec (.002 seconds) Fair < 04 Msec (.004 seconds) Poor > 04 Msec (.004 seconds)
Split I/Os:
Misura il tasso di suddivisione di I/O per via della frammentazione dei file. Ciò si verifica se la richiesta di I/O tocca dati su segmenti di file non contigui. Dovrebbe essere vicino a zero.
Può variare a causa delle dimensioni eccessivamente ridotte dello stripe RAID o del blocco NTFS.
% Free Space:
Consente di visualizzare la percentuale di spazio utilizzabile totale sul disco logico selezionato precedentemente libero. Deve essere sempre disponibile almeno il 15% di spazio libero; il valore consigliato è >=25%.
Processo
- Handle Count: correlazione con le perdite di pool.
- Virtual bytes: memoria virtuale riservata per l'utilizzo da parte di un'applicazione.
- Working set bytes: byte privati che si trovano nella memoria fisica di proprietà di un'applicazione.
Qual è la differenza tra gli oggetti di prestazioni di un disco fisico e un disco logico in Perfmon?
Perfmon dispone di due oggetti direttamente correlati alle prestazioni del disco, disco fisico e disco logico.
I contatori sono calcolati nello stesso modo, ma il loro ambito è diverso.
L'oggetto di prestazioni del disco fisico monitora le unità disco sul computer. Identifica le istanze che rappresentano l'hardware fisico. I contatori sono la somma dell'accesso a tutte le partizioni sull'istanza fisica.
L'oggetto di prestazioni del disco logico monitora le partizioni logiche. Un monitoraggio delle prestazioni identifica i dischi logici in base alla lettera dell'unità o al mount point.
Se un disco rigido contiene più partizioni, questo contatore segnala i valori per la partizione selezionata e non per l'intero disco.
Quando si utilizzano dischi dinamici, i volumi logici possono estendersi su più dischi rigidi, in questo scenario i valori del contatore includono l'accesso al disco logico in tutti i dischi rigidi su cui si estende.
Quali contatori in Performance Monitor di Windows mostrano la latenza del disco rigido?
- Oggetto di prestazioni del disco fisico -> Contatore Avg. Disk sec/Read: mostra la latenza di lettura media.
- Oggetto di prestazioni del disco fisico -> Contatore Avg. Disk sec/Write: mostra la latenza di scrittura media.
- Oggetto di prestazioni del disco fisico -> Contatore Avg. Disk sec/Transfer: mostra le medie combinate per lettura e scrittura.
- L'istanza _Total è una media delle latenze per tutti i dischi rigidi del computer.
Ogni altra istanza rappresenta un singolo disco fisico.
Contatori da osservare durante il monitoraggio in situazioni diverse:
|
Componente |
Aspetto delle prestazioni monitorato |
Contatori da monitorare |
|
Disco |
Utilizzo |
Physical Disk\ Sec/Read Physical Disk\ Disk Reads/sec Physical Disk\ Avg Queue Length Read Physical Disk\ Avg Queue Length Write Logical Disk\ % Free Space Interpretare attentamente il contatore % Disk Time. |
|
Disco |
Colli di bottiglia |
Physical Disk\ ALL COUNTERS Logical Disk\ % Free Space System\File Control Operations/sec System\File Data Operations/sec Nota: la posizione di questo contatore di chiavi è nel sistema. Non è specifica del volume, ma è utile se si dispone di un solo volume attivo. |
|
Memoria |
Utilizzo |
Memory\ Available Bytes Memory\ % Committed Bytes in Use. Memory\ Pool Non-Paged Bytes Memory\ Pool Paged Bytes. Memory\ Pages Input or Reads/sec Memory\ Free System Pages |
|
Memoria |
Colli di bottiglia o perdite |
Memory\ Available Bytes Memory\ Cache Bytes Memory\ Pages/sec Memory\ Page Output or Write /sec. Memory\ Free System Pages |
|
Processore |
Utilizzo |
Processor\ % Processor Time (tutte le istanze) Processor\ % Privileged Time Processor\ % User Time |
|
Processore |
Colli di bottiglia |
Processor\ % Processor Time (tutte le istanze) Processor\ % DPC Time Processor\ % Interrupt Time Processor\ % Privileged Time Processor\ % User Time Processor\ DPC s Queued /sec. System\System Calls/sec System\ Processor Queue Length (tutte le istanze) |
Additional Information