Ottimizzazione delle prestazioni e della velocità di risposta
I clienti prevedono sistemi con prestazioni elevate e reattive. Ciò comprende un ampio ambito di scenari che variano dal momento di avvio alle interazioni utente fluide con le applicazioni. L'analisi dei problemi di prestazioni richiede molte competenze e conoscenze specifiche del dominio. Microsoft offre strumenti che consentono di affrontare questa attività complessa.
Questa guida illustra il processo di misurazione, analisi e risoluzione delle cause radice dei problemi di prestazioni nelle aree chiave. Gli argomenti includono:
Uso di Windows Performance Toolkit (WPT)
Acquisizione di tracce di traccia eventi (ETL)
Ritardi di avvio, avvio dell'applicazione e interfaccia utente
Analisi dell'utilizzo delle risorse cpu e disco
Percorso critico e analisi di attesa
Obiettivi
Questa guida illustra come eseguire le attività seguenti:
Raccogliere dati pertinenti per analizzare i problemi di prestazioni in qualsiasi sistema
Comprendere il processo di analisi per esaminare l'utilizzo delle risorse di sistema, ad esempio CPU e disco
Identificare cosa può influire sulla velocità di risposta del sistema in alcuni scenari di Windows chiave
Strumenti
Windows Assessment Toolkit in ADK fornisce un set di test correlati alle prestazioni denominati valutazioni. I risultati della valutazione vengono usati per diagnosticare potenziali problemi, in modo che l'hardware e il software sviluppati siano entrambi reattivi e abbiano un impatto minimo sulla durata della batteria, sulle prestazioni di avvio e sull'ora di arresto. Le stesse valutazioni sono disponibili per i partner OEM/ISV/IHV, gli appassionati e altri membri della community, per stabilire un quadro comune per misurare, confrontare e esaminare gli aspetti della qualità.
Windows Performance Toolkit è costituito da due strumenti indipendenti: Windows Performance Recorder (WPR) e Windows analizzatore prestazioni (WPA). WPR è un potente strumento di registrazione che crea registrazioni di Traccia eventi per Windows (ETW). È possibile eseguire WPR dall'interfaccia utente o dalla riga di comando (CL). WPR fornisce profili predefiniti che è possibile usare per selezionare gli eventi da registrare. WPA è un potente strumento di analisi che combina un'interfaccia utente flessibile con funzionalità di grafico estese e tabelle di dati che possono essere votate e hanno funzionalità di ricerca full-text.
Comportamento di avvio rapido
Introdotto in Windows 8, Avvio rapido è il comportamento di avvio predefinito. Il processo di arresto è stato aggiornato per includere la scrittura di dati su disco in modo da riflettere il funzionamento dell'ibernazione. Durante l'avvio, il sistema passa le fasi descritte nella tabella seguente.
Fase | Descrizione |
---|---|
Inizializzazione BIOS | Il tempo necessario al sistema operativo per inizializzare il BIOS, incluso l'ambiente di esecuzione pre-avvio (PXE). |
Lettura di Hiberfile | Ora che il sistema operativo richiede per leggere l'iberfile dal disco. Il file di iberfile contiene tutto il contesto di sistema come scritto durante l'arresto. |
Riprendere i dispositivi | Il tempo necessario al sistema operativo per riprendere i dispositivi e inserirli nello stato di alimentazione attiva. |
Ripresa WinLogon | Ora che il sistema operativo richiede per riprendere il processo Winlogon. |
Inizializzazione di Explorer | Il tempo necessario al sistema operativo per inizializzare la shell di Windows (explorer.exe). Questa fase termina quando la schermata desktop o Start è visibile all'utente. |
Post On/Off Duration | Il tempo necessario a Windows per completare tutte le attività di avvio dopo che il desktop viene visualizzato, ma fino a quando la CPU e la risorsa disco diventano inattive. |
Per altre informazioni sul comportamento di avvio rapido, vedere l'argomento Prestazioni di transizione on/off in MSDN.
Pianificazione della CPU e thread
Poiché il numero di processori in un sistema è limitato, non è possibile eseguire tutti i thread contemporaneamente. Windows implementa la condivisione del tempo del processore, che consente a un thread di eseguire per un periodo di tempo prima che il processore passa a un altro thread. L'atto di cambio tra thread viene chiamato commutatore di contesto e viene eseguito da un componente Windows denominato dispatcher. Ogni thread esiste in uno stato di esecuzione specifico in qualsiasi momento. Windows usa tre stati rilevanti per le prestazioni: Esecuzione, Pronto e Attesa.
I thread eseguiti si trovano nello stato In esecuzione . I thread che possono essere eseguiti, ma attualmente non sono in esecuzione, si trovano nello stato Pronto . I thread che non possono essere eseguiti (perché sono in attesa di un evento specifico) si trovano nello stato di attesa . La figura seguente illustra le possibili transizioni di thread.
Un thread nello stato Esecuzione avvia una transizione allo stato di attesa chiamando una funzione di attesa, ad esempio WaitForSingleObject o Sleep(>0).
Un'operazione di thread o kernel in esecuzione legge un thread nello stato di attesa , ad esempio SetEvent o scadenza timer.
Un thread nello stato Pronto è pianificato per l'elaborazione dal dispatcher quando un thread in esecuzione attende o raggiunge la fine del relativo quantistico di esecuzione.
Un thread nello stato In esecuzione viene disattivato e inserito nello stato Ready dal dispatcher quando viene preceduto da un thread con priorità superiore o quando termina il codice quantistico.
Lo stato del thread diventa un fattore importante nelle prestazioni solo quando un utente è in attesa di un thread per completare un'operazione.
Per altre informazioni sulla pianificazione della CPU, vedere l'argomento Analisi CPU in MSDN.
Esercizi
Questa guida è costituita dagli esercizi seguenti.