Esecuzione dei test di carico

Dopo avere creato, modificato e impostato le opzioni di configurazione appropriate per le esigenze del test di carico, in Visual Studio Ultimate sono disponibili diverse opzioni per l'esecuzione dei test di carico.

SuggerimentoSuggerimento

Prima di eseguire un test di carico, è buona norma assicurarsi che tutti i test delle prestazione Web e gli unit test contenuti nel test di carico vengano superati quando eseguiti singolarmente. Per verificare i test, è possibile eseguirli nella finestra di esplorazione test o nella finestra Visualizzazione test oppure tramite l'Editor test prestazioni Web. Per i test delle prestazioni Web con associazione dati analizzare tutti i valori dati.

Considerazioni per l'esecuzione dei test di carico

Prima di eseguire un test di carico, è consigliabile verificare che sia configurato in modo appropriato per soddisfare i requisiti o lo scopo del test.

Scegliere un modello di carico appropriato.

Scegliere un modello di carico per ogni scenario nel test di carico appropriato per gli obiettivi del test:

  • Modello di carico costante

  • Modello di carico per passaggio

  • Modello di carico basato su obiettivo

Scegliere il percorso dell'archivio dei risultati del test di carico.

Considerazioni sull'archivio dei risultati del test di carico

Impostare in modo appropriato l'intervallo di campionamento dei contatori delle prestazioni.

Considerazioni sull'intervallo di campionamento dei contatori delle prestazioni

Considerare l'inclusione di dettagli dell'intervallo per la raccolta di dati percentili

Considerazioni per l'inclusione di dettagli dell'intervallo per la raccolta di dati percentili

Considerare l'abilitazione della traccia SQL

Considerare l'abilitazione della traccia SQL

Determinare la necessità di agenti di test aggiuntivi.

Non sovraccaricare gli agenti di test

Per ulteriori informazioni, vedere Considerazioni relative ai test di carico.

Modalità grafiche

Durante l'esecuzione di un test di carico, l'analizzatore test di carico è riprodotto nella visualizzazione Grafici per impostazione predefinita. È possibile visualizzare i grafici in due diverse modalità:

  • Modalità compressione   È la modalità predefinita per i grafici nell'analizzatore test di carico durante l'esecuzione di un test di carico. Un grafico compresso viene utilizzato durante l'esecuzione del test di carico per ridurre la quantità di dati che è necessario mantenere in memoria, per tutta la durata dell'esecuzione, mentre viene visualizzata la tendenza per un contatore delle prestazioni.

  • Modalità scorrimento   Questa modalità per i grafici è disponibile quando si visualizzano i risultati di un test di carico mentre è in esecuzione. Un grafico a scorrimento è una visualizzazione facoltativa che consente di visualizzare i punti dati più recenti. Utilizzare un grafico a scorrimento per visualizzare solo i 100 intervalli di dati del test più recenti.

    Nota

    La modalità zoom per i grafici è disponibile solo quando si visualizza un risultato del test di carico completato da un database.

Modifica della modalità grafica

Per passare tra le modalità di compressione e scorrimento mentre un test di carico è in esecuzione, utilizzare il menu a discesa Opzioni grafico sulla barra degli strumenti analizzatore test di carico. Scegliere Grafico di tutta l'esecuzione per la modalità di compressione o Grafico dei soli dati recenti per la modalità di scorrimento.

Attività

Attività

Argomenti correlati

Configurare impostazioni di esecuzione dei test di carico: le impostazioni di esecuzione sono un set di proprietà che determinano la modalità di esecuzione del test di carico. Sono organizzate in categorie nella finestra Proprietà.

Eseguire un test di carico: è possibile utilizzare opzioni dell'interfaccia utente diverse per eseguire un test di carico o per eseguire il test di carico dalla riga di comando.

Eseguire un test di carico in modalità remota: è possibile utilizzare agenti di test e controller di test per eseguire il test di carico in uno o più computer remoti.

Visualizzare i risultati del test graficamente mentre il test è in esecuzione: i risultati di un test di carico vengono visualizzati come dati in numerosi riquadri diversi durante l'esecuzione del test e dopo il suo completamento.

Aggiungere un commento al test di carico mentre è in esecuzione: se si analizza il test di carico mentre è in esecuzione o quando viene completato, è possibile aggiungere un commento con una descrizione e un commento di analisi arbitrariamente lungo da archiviare in modo permanente insieme con il risultato del test di carico.

Distribuire test di carico e delle prestazioni Web a diversi computer: è possibile utilizzare un gruppo di computer per generare un carico simulato per i test e per eseguire test in modalità remota e simultaneamente su più computer.

Raccogliere dati delle prestazioni ASP.NET nel test delle prestazioni Web: è possibile utilizzare l'adattatore dati di diagnostica di Profiler ASP.NET nelle impostazioni test per raccogliere dati delle prestazioni ASP.NET sull'applicazione Web ASP.NET.

Risolvere i problemi relativi all'emulazione di rete nei test di carico: è possibile verificare se l'emulazione di rete funziona correttamente nei test di carico.

Eseguire test di carico con Team Build: è possibile aggiungere i test di carico a una categoria di test che può essere configurata per l'esecuzione dopo che è stata completata una compilazione.

Considerazioni sul modello di carico

Scegliere uno dei seguenti modelli di carico per ogni scenario nel test di carico appropriato per gli obiettivi del test:

Per ulteriori informazioni, vedere Modifica dei modelli di carico per modellare le attività utente virtuali.

Utilizzo di un modello di carico costante

Un modello di carico costante viene utilizzato per eseguire lo stesso carico utente durante l'esecuzione di un test di carico. Prestare particolare attenzione quando si utilizza un modello di carico costante con un numero elevato di utenti, perché si potrebbe creare una confluenza di richieste irragionevole e non realistica sul server o sui server all'inizio del test di carico. Se nel test di carico è incluso, ad esempio, un test Web che inizia con una richiesta a una home page e si configura il test di carico con un carico costante di 1.000 utenti, le prime 1.000 richieste verranno inviate alla home page il più velocemente possibile. Questa potrebbe non essere una simulazione realistica di un vero accesso al sito Web. Per ovviare a questo inconveniente, considerare la possibilità di utilizzare un modello di carico per passaggio che aumenta gradualmente il carico a 1.000 utenti o specificare un periodo di riscaldamento nelle impostazioni esecuzione test di carico. Se si specifica un periodo di riscaldamento, il test di carico aumenterà gradualmente il carico durante tale periodo. Per ulteriori informazioni, vedere Configurazione di ritardi di avvio di uno scenario.

Utilizzo di un modello di carico per passaggio

Un modello di carico per passaggio può essere utilizzato per aumentare il carico sul server o sui server durante l'esecuzione dei test di carico, in modo da visualizzare la variazione delle prestazioni mentre aumenta il carico utente. Per verificare, ad esempio, le prestazioni del server o dei server mentre il carico utente aumenta a 2000 utenti, è possibile eseguire un test di carico di 10 ore utilizzando un modello di carico per passaggio con le proprietà seguenti:

  • Numero utenti iniziale: 100

  • Numero massimo utenti: 2000

  • Intervallo passaggi (secondi): 1800

  • Tempo di preparazione passaggio (secondi): 20

  • Numero utenti per passaggio: 100

Queste impostazioni attivano l'esecuzione del test di carico per 30 minuti (1800 secondi) a carichi utente di 100, 200, 300, fino a 2000 utenti. Una nota particolare merita la proprietà Tempo di preparazione passaggio, essendo la sola tra queste proprietà che non è disponibile nella Creazione guidata test di carico. Questa proprietà consente l'aumento graduale, anziché immediato, da un passaggio al successivo (ad esempio da 100 a 200 utenti). In questo esempio il carico utente aumenterebbe da 100 a 200 utenti in un intervallo di 20 secondi, ovvero un aumento di 5 utenti al secondo. Per ulteriori informazioni, vedere Procedura: specificare la proprietà relativa al tempo di preparazione del passaggio per un modello di carico passaggio.

Nota

In Visual Studio Ultimate è possibile utilizzare fino a 250 utenti virtuali in una esecuzione dei test di carico locale. Se per i test di carico è necessario un numero maggiore di utenti virtuali, oppure se si desidera utilizzare computer remoti, è necessario acquistare Virtual User Pack di Test di carico di Visual Studio 2010. È possibile acquistare Virtual User Pack di Test di carico di Visual Studio 2010 dove è stato acquistato Visual Studio Ultimate. Per ulteriori informazioni, vedere Gestione delle licenze utente virtuali per i test di carico con un controller di test e Configurazione di agenti e controller di test per il test di carico.

Utilizzo di un modello di carico basato su obiettivo

Un modello di carico basato su obiettivo è utile quando si desidera determinare il numero di utenti che il sistema è in grado di supportare prima di raggiungere un certo livello di utilizzo delle risorse. Questa opzione fornisce i migliori risultati quando è già stata identificata la risorsa limitante, vale a dire il collo di bottiglia nel sistema. Se ad esempio si è a conoscenza che la risorsa limitante nel sistema è la CPU del server database e si desidera verificare quanti utenti possono essere supportati quando la CPU del server database è occupata circa al 75%, è possibile utilizzare un modello di carico basato su obiettivo allo scopo di mantenere il valore del contatore delle prestazioni "% tempo processore" tra il 70 e l'80%.

Nota di avvisoAttenzione

Se altre risorse limitano la velocità effettiva del sistema, è possibile che lo scopo specificato dal modello di carico basato su obiettivo non venga mai raggiunto e il carico utente continuerà ad aumentare finché non viene raggiunto il valore specificato per la proprietà Numero massimo utenti.

Non si tratta in genere del carico desiderato. Prestare quindi attenzione alla scelta del contatore delle prestazioni nel modello di carico basato su obiettivo e prendere inoltre una decisione consapevole sul valore della proprietà Numero massimo di utenti per determinare un limite superiore al carico utente.

Considerazioni sull'archivio dei risultati del test di carico

Quando viene installato Visual Studio Ultimate, l'archivio dei risultati del test di carico viene configurato per l'utilizzo di un'istanza di SQL Express installata nel computer. SQL Express è limitato all'utilizzo di un massimo di 4 GB di spazio su disco. Se si prevede di eseguire molti test di carico in un lungo periodo di tempo, è consigliabile considerare la possibilità di configurare l'archivio dei risultati del test di carico in modo che venga utilizzata un'istanza del prodotto di SQL Server completo, se è disponibile. Per ulteriori informazioni, vedere Gestione dei risultati dei test di carico nel repository dei risultati del test di carico.

Considerazioni sull'intervallo di campionamento dei contatori delle prestazioni

Nelle impostazioni esecuzione test di carico scegliere un valore per la proprietà Frequenza di campionamento basato sulla lunghezza del test di carico. Una frequenza di campionamento inferiore, ad esempio il valore predefinito di cinque secondi, richiede più spazio nel database dei risultati del test di carico. Per i test di carico più lunghi, l'aumento della frequenza di campionamento riduce la quantità di dati raccolti. Per ulteriori informazioni, vedere Procedura: specificare la frequenza di campionamento per un'impostazione di esecuzione test di carico.

Di seguito sono riportate alcune linee guida per le frequenze di campionamento:

Durata test di carico

Frequenza di campionamento consigliata

< 1 ora

5 secondi

1 - 8 ore

15 secondi

8 - 24 ore

30 secondi

> 24 ore

60 secondi

Considerazioni per l'inclusione di dettagli dell'intervallo per la raccolta di dati percentili

Nelle impostazioni di esecuzione test dell'Editor test di carico è disponibile una proprietà denominata Intervallo archiviazione dettagli. Se la proprietà Intervallo archiviazione dettagli è abilitata, il tempo richiesto per eseguire ogni singolo test, transazione e pagina durante il test di carico verrà archiviato nel repository dei risultati del test di carico. Ciò consente di visualizzare i dati del novantesimo e del novantacinquesimo percentile nelle tabelle Test, Transazioni e Pagine dell'analizzatore test di carico.

Per abilitare la proprietà Intervallo archiviazione dettagli nelle proprietà delle impostazioni esecuzione test sono disponibili due opzioni denominate StatisticsOnly e AllIndividualDetails. Con entrambe le opzioni viene determinato l'intervallo di tutti i singoli test, pagine e transazioni e dai singoli dati di intervallo vengono calcolati i dati percentili. La differenza per quanto riguarda l'opzione StatisticsOnly consiste nel fatto che i singoli dati di intervallo vengono eliminati dal repository dopo il calcolo dei dati percentili. In questo modo si riduce la quantità di spazio richiesta nel repository quando si utilizzano i dettagli dell'intervallo. Gli utenti avanzati potrebbero tuttavia voler elaborare i dati dettaglio dell'intervallo in altri modi, utilizzando strumenti SQL. In tal caso, è consigliabile utilizzare l'opzione AllIndividualDetails in modo da rendere disponibili i dati dettaglio dell'intervallo per tale elaborazione. Se inoltre si imposta la proprietà su AllIndividualDetails, al termine dell'esecuzione del test di carico sarà possibile analizzare l'attività dell'utente virtuale utilizzando Grafico attività utente virtuale nell'analizzatore test di carico. Per ulteriori informazioni, vedere Analisi dell'attività utente virtuale del test di carico nella visualizzazione Dettagli dell'Analizzatore test di carico.

Nota

Nelle versioni precedenti di Visual Studio, tra cui Microsoft Visual Studio 2005 e Visual Studio 2008, è disponibile l'impostazione Tutti i singoli dettagli per la proprietà Intervallo archiviazione dettagli. Vi sono tuttavia due importanti differenze. Innanzitutto, l'impostazione Tutti i singoli dettagli non è l'impostazione predefinita. In secondo luogo, l'impostazione Tutti i singoli dettagli viene configurata dopo che sono stati raccolti i dati e pertanto per accedere a queste informazioni è necessario utilizzare query SQL.

La quantità di spazio richiesta nel repository dei risultati del test di carico per l'archiviazione dei dati dettaglio dell'intervallo potrebbe essere molto elevata, soprattutto per i test di carico a esecuzione prolungata. Inoltre, è necessario più tempo per archiviare questi dati nel repository dei risultati alla fine del test di carico, in quanto tali dati vengono archiviati negli agenti del test di carico fino al termine dell'esecuzione del test di carico. Quando il test di carico viene completato, i dati vengono archiviati nel repository. La proprietà Intervallo archiviazione dettagli è abilitata per impostazione predefinita. Se ciò costituisce un problema per l'ambiente di test, è consigliabile impostare Intervallo archiviazione dettagli su Nessuno.

Per ulteriori informazioni, vedere Procedura: specificare la proprietà Intervallo archiviazione dettagli per un'impostazione di esecuzione test di carico.

Considerare l'abilitazione della traccia SQL

Per diagnosticare problemi di prestazioni SQL, nelle impostazioni esecuzione test dell'Editor test di carico è disponibile un set di proprietà che consente di abilitare la funzionalità di traccia SQL di Microsoft SQL Server per la durata del test di carico. Se la funzionalità di traccia SQL è abilitata, i dati della traccia SQL potranno essere visualizzati nella tabella Traccia SQL disponibile nella visualizzazione Tabelle dell'analizzatore test di carico.

Si tratta di un'alternativa abbastanza facile da usare rispetto all'avvio di una sessione distinta di SQL Profiler durante l'esecuzione del test di carico. Per abilitare questa funzionalità, l'utente che esegue il test di carico deve disporre dei privilegi SQL richiesti per eseguire la traccia SQL ed è necessario specificare una directory in cui verrà scritto il file di traccia. La directory è generalmente una condivisione. Al termine del test di carico, il file dei dati di traccia verrà importato nel repository dei test di carico e associato al test eseguito, in modo che sia possibile visualizzarlo successivamente in qualsiasi momento tramite l'analizzatore test di carico.

Per ulteriori informazioni, vedere Raccolta di dati di traccia SQL per monitorare e migliorare le prestazioni nei test di carico.

Non sovraccaricare gli agenti di test

Se nel computer di un agente di test l'utilizzo della CPU è oltre il 75% o se la quantità di memoria fisica disponibile è inferiore al 10%, aggiungere più agenti al test di carico per assicurarsi che il computer dell'agente non diventi il collo di bottiglia nel test di carico.

Per ulteriori informazioni, vedere Procedura: specificare agenti di test da utilizzare negli scenari di test di carico e Distribuzione di test di carico in più computer di test utilizzando controller di test e agenti di test.

Attività correlate

Creazione e modifica di test di carico e delle prestazioni Web

Vengono fornite le informazioni necessarie per creare e modificare test di carico e test Web.

Esecuzione di test delle prestazioni Web

Vengono fornite informazioni sull'esecuzione di test Web nei test di carico.

Vedere anche

Concetti

Cenni preliminari sull'Analizzatore test di carico

Considerazioni relative ai test di carico

Altre risorse

Esecuzione di test di carico e delle prestazioni Web

Consideration for Load Tests that Contain Web Performance Tests