Utilizzo di controller di test e di agenti di test con i test di carico
Le informazioni contenute in questo argomento sono valide per:
Visual Studio Ultimate |
Visual Studio Premium |
Visual Studio Professional |
Visual Studio Express |
---|---|---|---|
È possibile eseguire test di carico tramite controller e agenti di test per distribuire il carico tra più computer in modo da simulare più utenti virtuali.
Se non si vogliono usare le proprie risorse e configurare i propri computer per creare questo carico, è possibile usare il test di carico basato su cloud per fornire le macchine virtuali nel cloud che generano il caricamento di molti utenti che accedono al sito Web contemporaneamente. Tutto quello che serve è un account di Visual Studio Online. È importante conoscere questo servizio di test di carico basato su cloud che fornisce all'utente virtuale 15.000 minuti gratuiti di test di carico ogni mese.
Per comprendere le configurazioni necessarie per eseguire il test di carico dell'app con risorse locali, seguire le informazioni nella parte restante di questo argomento.
Configurazione remota tipica:
Computer1 e Computer2: Visual Studio (più tester possono usare lo stesso controller).
Computer3: controller (in cui possono essere anche presenti agenti installati).
Computer4-n: agente o agenti tutti associati al controller in Computer3.
Quando si eseguono i test di carico, la memoria e la potenza di elaborazione del computer controllano in genere la quantità di carico che può essere generata per il test. Il controller di test non genera carico, ma raccoglie le statistiche sul test di carico dagli agenti di test e i dati dei contatori delle prestazioni dagli agenti di test e dal sistema sotto test. Pertanto, il database usato dal controller di test richiede risorse sia per la quantità di dati archiviata che per il numero di agenti di test coinvolto nei test in esecuzione. Usare la tabella seguente come guida per determinare i requisiti hardware del controller e dell'agente di test.
Componente |
Livello applicazione controller di test |
Livello dati controller di test |
Livello dati/applicazione controller di test |
---|---|---|---|
CPU |
Minimo: 1 GHz Consigliato: 2 GHz |
Minimo: 1 GHz Consigliato: 2 GHz |
Minimo: 1 GHz Consigliato: 2 GHz |
Disco - sistema |
Minimo: 1 GB Consigliato: 1 GB |
Minimo: 1 GB Consigliato: 1 GB |
Minimo: 1 GB Consigliato: 1 GB |
Disco - installazione |
Minimo: 1 GB Consigliato: 48 GB |
Minimo: 8 GB Consigliato: 48 GB |
Minimo: 8 GB Consigliato: 48 GB |
Memoria |
Minimo: 1 GB Consigliato: 1 GB |
Minimo: 1 GB Consigliato: 1 GB |
Minimo: 1 GB Consigliato: 1 GB |
Per poter eseguire test di carico usando test controller, è necessario configurare il database di test di carico sul test controller in modo che utilizzi un'istanza di SQL Server quando vengono eseguiti i test di carico. Se non si dispone di SQL Server, è possibile usare SQL Express, incluso in Visual Studio Premium come archivio dei test di carico. Per altre informazioni su come configurare il controller di test, vedere Installazione e configurazione di agenti e controller di test.
Di seguito sono indicati alcuni fattori aggiuntivi da considerare per il dimensionamento dell'hardware.
Componente |
Agente di test |
Livello applicazione controller di test |
Livello dati controller di test |
AT/DT controller di test |
---|---|---|---|---|
CPU |
A seconda del test, la CPU è spesso il fattore di limitazione. |
Non usato frequentemente. |
Non usato frequentemente. |
Non usato frequentemente. |
Disco |
Usato frequentemente se nei test di carico è abilitata la registrazione dettagliata. |
Non usato frequentemente. |
10 GB di spazio richiesti per 24 ore di dati di test. |
10 GB di spazio richiesti per 24 ore di dati di test. |
Memoria |
A seconda del test, la memoria potrebbe essere il fattore di limitazione. |
Non usato frequentemente. |
Usato frequentemente da SQL. |
Usato frequentemente da SQL. |
La quantità di carico che un agente di test specifico può generare varia ampiamente da test a test. La maggior parte dei test è associata alla CPU. L'utilizzo della CPU è direttamente proporzionale alle richieste al secondo (RPS). Per altri test di carico, la memoria è il fattore di limitazione. Le richieste al secondo (RPS) che è possibile prevedere da un agente di carico dipendono dai molti fattori. tra cui:
Carico utente
Tempo interazione utente
Schema di autenticazione
Dimensione di richieste e risposte
Tempo di risposta
Livello di convalida della risposta
Tipo di test sotto carico (test Web o unit test)
Il tempo interazione utente è il fattore primario per la determinazione del numero di utenti in un test associato alla CPU. L'impostazione dei tempi interazione utente da 2 a 10 secondi consente di simulare 5 volte più utenti, ma le richieste al secondo saranno le stesse. Tuttavia, se l'obiettivo è simulare utenti reali, impostare il tempo interazione utente a un valore che rifletta il tipo di comportamento che si suppone che gli utenti avranno sul sito Web. Aumentando il tempo interazione utente e il numero di utenti non necessariamente aggiungerà stress all'applicazione Web.
Gli agenti di test possono essere associati dalla memoria a test che usano la modalità di connessione Connessione per utente. È possibile configurare due modalità di connessione nelle impostazioni di esecuzione di test di carico. In modalità Pool di connessioni (impostazione predefinita), le connessioni sono in pool, ma ogni utente usa due connessioni quando attivo. In questa modalità, tutti gli utenti virtuali sono in multiplexing sul pool di connessioni. Questo consente di avere 1000 utenti virtuali attivi che condividono 100 connessioni. In modalità Connessione per utente, ogni utente dispone di una connessione che è costituita da due connessioni effettive aperte al server.
In un test di carico rispetto a un'applicazione ASP.NET tipica con un tempo interazione utente da 3 a 5 secondi usando test Web, è possibile simulare circa 1000 utenti da un agente di test a processore singolo con una CPU da 2 GHz una RAM da 1 GB (configurazione consigliata). Il numero di utenti supportati è una funzione del tempo interazione utente. Con tempi interazione utente più lunghi, più utenti possono essere supportati.
Il server nel quale è in esecuzione Visual Studio Premium deve disporre di una connessione di rete affidabile con una larghezza di banda minima di 1 Mbps e una latenza massima di 350 ms. Tra gli agenti di test e il controller di test non devono essere presenti firewall. Se le prestazioni del test non soddisfano le aspettative, si consiglia di aggiornare la configurazione hardware.
Considerazioni sul ridimensionamento SQL
Per impostazione predefinita, SQL Express è installato nel controller e viene da questo usato come archivio SQL predefinito per i risultati dei test di carico. Il database SQL Express dispone di una licenza che ne limita l'archiviazione a 10 GB di dati. Si tratta di circa 24 ore di dati di test di carico per un test di carico tipico. Lo spazio richiesto per i dati del test di carico varia molto, a seconda del test.
Durante un test di carico, vengono raccolti degli esempi per ogni istanza di contatore in ogni computer. Pertanto, la quantità di spazio richiesta nel database dipende dai fattori seguenti: il numero di contatori raccolto, il numero di computer coinvolto nel test e il numero di esempi preso, come controllato dalla frequenza di esempio.
Nelle impostazioni di esecuzione per il test di carico è possibile raccogliere dettagli sulla durata. Questo abilita il grafico attività utente virtuale. È inoltre possibile raccogliere log dettagliati sugli utenti virtuali.
L'esecuzione di un test di carico può usare uno o più adattatori dati di diagnostica per raccogliere informazioni o influire sul computer del test. Questi adattatori sono configurati nelle impostazioni di test per l'esecuzione. Dati provenienti da questi adattatori vengono archiviati anche in SQL Express e possono richiedere una grande quantità di spazio a seconda dell'adattatore dati di diagnostica.
Se possibile, si consideri di usare un database separato per archiviare i dati del test di carico. È possibile archiviare il database nel computer del controller di test o in un computer diverso. Per modificare l'archivio dati, inviare i comandi SQL contenuti nel file .sql all'istanza di server SQL che si desidera usare per l'archivio dei risultati dei test di carico. A questo scopo, è possibile eseguire due operazioni. Usare il comando sqlcmd da un prompt dei comandi e specificare le opzioni necessarie a connettersi al database desiderato. Usare l'opzione -i per specificare il percorso al file loadtestresultsrepository.sql. Usare una delle interfacce GUI in SQL, ad esempio Query Analyzer, aprire il file .sql e connettersi.
Vedere anche
Attività
Procedura dettagliata: utilizzo di un controller di test e di agenti di test in un test di carico
Concetti
Configurazione di agenti e controller di test per il test di carico
Installazione e configurazione di agenti e controller di test
Configurazione di computer di test per l'esecuzione di test o la raccolta di dati
Configurazione di computer e raccolta di informazioni diagnostiche mediante impostazioni test
Configurazione di agenti e controller di test per il test di carico