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.
Attenzione |
---|
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
Attenzione |
---|
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:
Attenzione
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
Altre risorse
Risoluzione dei problemi relativi ai test di carico e delle prestazioni Web