Risoluzione dei problemi relativi ai test di carico

In questo argomento vengono riportati i problemi comuni che si verificano quando si eseguono i test di carico in Visual Studio Ultimate.

Impossibile utilizzare la traccia SQL

Errore durante l'esecuzione del test.(Computer xyz) non è in grado di accedere al repository dei risultati: Il nome di oggetto 'LoadTestRun' non è valido

Errore LoadTestCounterNotFoundException

LoadTestResultsCollectorSlowException

Errore LoadTestErrorLimitExceededException

Impossibile accedere al repository dei risultati del test di carico

Impossibile generare il carico previsto

Caricare limitazioni di generazione nei computer multicore

Requisiti

  • Visual Studio Ultimate

Impossibile utilizzare la traccia SQL

Quando si esegue localmente un test di carico con la traccia SQL attivata, è possibile ricevere il messaggio seguente:

Errore durante l'esecuzione del test.Impossibile avviare la traccia SQL: L'utente non è autorizzato a ripristinare il database 'SP_TRACE_CREATE'

Per utilizzare la traccia SQL in un test di carico eseguito localmente in un computer con il sistema operativo Windows Vista, è necessario essere membri del ruolo sysadmin nell'istanza di SQL Server che si sta tracciando.Per correggere questo problema, è necessario essere aggiunti al ruolo sysadmin da un amministratore di SQL Server.

Errore durante l'esecuzione del test.(Computer xyz) non è in grado di accedere al repository dei risultati: Il nome di oggetto 'LoadTestRun' non è valido

Questo errore indica che lo schema del database del test di carico non è stato creato.È possibile utilizzare l'analizzatore query per eseguire il file LoadTestResultsRepository.Sql che si trova in <cartella di installazione di Visual Studio>\Common7\IDE\ per creare il database.

Se si utilizza SQL Express, è possibile eseguire "sqlcmd - S.\SQLEXPRESS -i loadtestresultsrepository.sql" a un prompt dei comandi nella directory elencata in precedenza.

Nota di avvisoAttenzione

Nei parametri viene fatta distinzione tra maiuscole e minuscole.È necessario digitare S in maiuscolo e i in minuscolo.

Per ulteriori informazioni, vedere Procedura: creare un repository dei risultati del test di carico tramite SQL.

Errore LoadTestCounterNotFoundException

Questo errore si verifica quando un contatore delle prestazioni incluso in uno degli insiemi di contatori del test di carico non viene trovato nella categoria di contatori delle prestazioni che lo contiene.Se si tratta di un contatore aggiunto all'insieme, è possibile che il relativo nome non sia stato digitato correttamente.È inoltre possibile che il contatore delle prestazioni non esista più nella categoria perché è stato rimosso in una revisione più recente del componente software in cui viene definito.È possibile rimuoverlo dall'insieme di contatori per correggere l'errore senza perdere dati utili.

Errore LoadTestResultsCollectorSlowException

Questo errore indica che il controller di test non è stato in grado di raccogliere i risultati dei contatori delle prestazioni da tutti i computer nella frequenza di campionamento specificata per il test di carico.Tale situazione può verificarsi se esistono diversi contatori delle prestazioni da raccogliere da molti computer diversi, come specificato dai mapping degli insiemi di contatori per il test di carico.Può inoltre verificarsi quando l'agente di test viene eseguito nello stesso computer del controller di test.Potrebbe essere possibile correggere questo errore aumentando la frequenza di campionamento per il test di carico.

Errore LoadTestLimitExceededException

Questo errore si verifica ogni volta che vengono rilevati almeno 1000 errori dello stesso tipo.In genere indica che esiste un problema con il test in esecuzione nel test di carico.Se, ad esempio, il test Web emette richieste per URL non trovati, è necessario correggere il test Web per risolvere l'errore.

Impossibile accedere al repository dei risultati del test di carico

Quando si esegue un test di carico, è possibile ricevere il messaggio seguente:

Impossibile accedere al repository dei risultati del test di carico

Una delle possibili cause di questo errore è che i nomi dei parametri sono stati specificati con una combinazione di maiuscole e minuscole errata durante l'utilizzo dell'utilità da riga di comando SQLCMD per impostare il repository dei risultati del test di carico.Nel codice seguente è riportato un comando di esempio per impostare un repository dei risultati del test di carico in un server denominato ContosoServer1:

SQLCMD -S ContosoServer1 -U <user name> -P <password> -i loadtestresultsrepository.sql

Nota di avvisoAttenzione

Nei parametri viene fatta distinzione tra maiuscole e minuscole.È necessario digitare S, U e P in maiuscolo e i in minuscolo.

Per ulteriori informazioni, vedere Procedura: creare un repository dei risultati del test di carico tramite SQL.

Impossibile generare il carico previsto

Un problema comune che si verifica quando si esegue un test di carico è l'impossibilità di generare il carico previsto.Nella tabella seguente sono elencate alcune possibili cause del problema:

Il carico massimo è limitato dal tempo interazione utente o dal numero di utenti virtuali.

Se il tempo interazione utente è attivato, può limitare la frequenza con cui ogni singolo utente virtuale può inviare richieste.Ad esempio, 5 secondi di tempo interazione utente per richiesta producono un massimo di 0,2 richieste al secondo per ogni utente virtuale.È possibile provare una delle modifiche seguenti, nell'ordine di preferenza:

  1. Aumentare il numero di utenti virtuali per una generazione del carico più realistica.L'aumento del numero di utenti virtuali richiede in genere più memoria.

  2. Ridurre il tempo interazione utente.

  3. Disattivare il tempo interazione utente per massimizzare la generazione del carico.

Nota di avvisoAttenzione
La disattivazione del tempo interazione utente può avere un notevole impatto sul modulo di test. Se si sceglie questa opzione, ridurre il numero di utenti virtuali.

La proprietà proxy del test Web è impostata sul valore predefinito.

L'utilizzo dell'impostazione proxy predefinita in un test Web risulta utile in quanto consente il rilevamento automatico del server proxy.Tuttavia, può causare problemi di prestazioni nei test di carico e riduce sensibilmente la velocità effettiva massima.È preferibile non utilizzare un server proxy durante l'esecuzione di un test di carico.Se è necessario un server proxy, specificare il relativo nome anziché l'impostazione predefinita.

Colli di bottiglia dell'applicazione.

Tenere presente che lo strumento per i test di carico è stato progettato per individuare i colli di bottiglia nell'applicazione.Se alcune pagine hanno tempi di risposta elevati a causa di un collo di bottiglia del database o della CPU, il numero di richieste al secondo che ogni utente virtuale può emettere verrà limitato.Iniziare con una piccola quantità di carico e aumentarla lentamente verificando che i tempi di risposta rimangano accettabili.È possibile utilizzare la proprietà Tempo di risposta obiettivo per impostare il tempo di risposta massimo previsto per ogni richiesta.

È stato superato il limite di utilizzo della CPU, della memoria o della rete del server Web.

Se è stato superato il limite di utilizzo della CPU, della memoria o della rete del server Web, potrebbe essere impossibile generare il carico previsto.È possibile che sia stato raggiunto il limite di carico del server.Aumentare la CPU, la memoria o la rete del server Web.

È stato superato il limite di utilizzo della CPU, della memoria o della rete del computer che genera il carico.

Potrebbero essere necessari computer più potenti o più computer agente di test per generare il carico desiderato.

È stato superato il limite di utilizzo della CPU, della memoria o della rete del server database (se applicabile).

Se è stato superato il limite di utilizzo della CPU, della memoria o della rete del server database, potrebbe essere impossibile generare il carico previsto.È possibile che sia stato raggiunto il limite di carico del server database.Aumentare la CPU, la memoria o la rete del server database.

Caricare limitazioni di generazione nei computer multicore

Quando si eseguono test di carico nei computer multicore, la generazione del carico viene limitata come segue:

  • Se nel computer è in esecuzione Visual Studio Ultimate, la generazione del carico è limitata a un core.

  • Se nel computer è in esecuzione l'Agente di Test di Visual Studio, la generazione del carico non è limitata e vengono eseguiti tutti i core e i processori.

Vedere anche

Attività

Risoluzione dei problemi relativi all'emulazione di rete nei test di carico

Risoluzione dei problemi relativi agli strumenti di test per Visual Studio ALM

Risoluzione dei problemi relativi ai test delle prestazioni Web

Procedura: creare un repository dei risultati del test di carico tramite SQL

Concetti

Strategie di risoluzione dei problemi dei controller e degli agenti di test nei test di carico

Gestione dei risultati dei test di carico nel repository dei risultati del test di carico

Analisi degli errori e dei risultati dei test di carico nella visualizzazione tabella dell'Analizzatore test di carico

Analisi delle violazioni delle regole di soglia nei test di carico tramite l'Analizzatore test di carico

Altre risorse

Risoluzione dei problemi relativi ai test di carico e delle prestazioni Web

Distribuzione di esecuzioni di test di carico in più computer di test utilizzando controller di test e agenti di test

Considerations for Load Testing