Solución de problemas de pruebas de carga
Actualización: noviembre 2007
En este tema se indican los problemas que se producen habitualmente al trabajar con pruebas de carga en Visual Studio Team System Test.
No se puede utilizar Seguimiento SQL
Error al ejecutar la prueba. (Equipo xyz) no pudo tener acceso al repositorio de resultados: El nombre de objeto 'LoadTestRun' no es válido.
Error LoadTestCounterNotFoundException
Error LoadTestResultsCollectorSlowException
Error LoadTestErrorLimitExceededException
Ninguno de los equipos del agente coincidieron con los criterios de selección
No se pudo obtener acceso al repositorio de resultados de la prueba de carga
No se puede generar la carga esperada
Limitaciones de generación de carga en equipos con varios núcleos
No se puede utilizar Seguimiento SQL
Cuando se ejecuta una prueba de carga de manera local y el seguimiento SQL está habilitado, puede aparecer el mensaje siguiente:
Error al ejecutar la prueba. No se pudo iniciar el seguimiento SQL: No tiene permiso para ejecutar 'SP_TRACE_CREATE'.
Para utilizar la traza de SQL en una prueba de carga que se ejecuta localmente en un equipo que tiene el sistema operativo Windows Vista, debe ser miembro de la función sysadmin en la instancia de SQL Server de la que se realiza el seguimiento. Para corregir este problema, un administrador de SQL Server debe agregarle a la función sysadmin.
Error al ejecutar la prueba. (Equipo xyz) no pudo tener acceso al repositorio de resultados: El nombre de objeto 'LoadTestRun' no es válido.
Este error indica que no se creó el esquema de base de datos de la prueba de carga. Para crear la base de datos, puede utilizar el Analizador de consultas para ejecutar el archivo LoadTestResultsRepository.Sql que se encuentra en <carpeta de instalación de Visual Studio>\Common7\IDE\.
Si utiliza SQL Express, puede ejecutar "sqlcmd -S .\SQLEXPRESS -i loadtestresultsrepository.sql" en un símbolo del sistema en el directorio antes indicado.
Precaución: |
---|
En los parámetros se hace distinción entre mayúsculas y minúsculas. Debe escribir S mayúscula e i minúscula. |
Para obtener más información, vea Cómo: Crear un repositorio de resultados mediante SQL.
Error LoadTestCounterNotFoundException
Este error se produce cuando un contador de rendimiento incluido en uno de los conjuntos de contadores de la prueba de carga no se encuentra en la categoría de contadores de rendimiento que lo contiene. Si es un contador que agregó al conjunto de contadores, posiblemente el nombre esté mal escrito. También es posible que el contador de rendimiento ya no exista en esa categoría porque se haya quitado en una revisión más reciente del componente de software que lo define. Para corregir el error sin perder datos útiles, puede quitarlo del conjunto de contadores.
Error LoadTestResultsCollectorSlowException
Este error indica que el controlador no pudo recopilar los resultados de los contadores de rendimiento de todos los equipos con la velocidad de muestreo especificada para la prueba de carga. El error puede producirse si tienen que recopilarse muchos contadores de rendimiento de muchos equipos diferentes, tal como especifican las asignaciones de conjuntos de contadores para la prueba de carga. También se puede producir si el agente de carga se ejecuta en el mismo equipo que el controlador. Es posible que corrija este error aumentando la velocidad de muestreo de la prueba de carga.
Error LoadTestLimitExceededException
Este error se produce siempre que se generan 1000 o más errores del mismo tipo. Normalmente, indica que hay un problema con la prueba que está ejecutándose en la prueba de carga. Por ejemplo, si la prueba Web envía solicitudes a direcciones URL inexistentes, debería corregir la prueba Web para corregir el error.
Ninguno de los equipos del agente coincidieron con los criterios de selección
Al ejecutar una prueba en una plataforma de pruebas, puede aparecer el mensaje siguiente:
Ninguno de los equipos del agente coincidieron con los criterios de selección
Cuando se ejecuta una prueba en una plataforma de pruebas, se pueden especificar los criterios de selección para los equipos agente que están conectados al controlador. Por ejemplo, puede especificar que sólo se utilicen agentes con un sistema operativo concreto para ejecutar una prueba. Si no se especifica ningún criterio, se utilizan todos los agentes conectados al controlador para ejecutar la prueba. Si ningún agente coincide con los criterios de selección, no se ejecutará la prueba.
Si ningún equipo agente coincide con los criterios de selección, siga estos pasos para corregir el problema:
En el menú Prueba, elija Editar configuraciones de ejecución de prueba y, a continuación, haga clic en la configuración actualmente activa.
Nota: Para encontrar la configuración actualmente activa, en el menú Prueba, elija Seleccionar configuración de ejecución de la prueba activa. La configuración activa tendrá una marca de verificación delante.
En el cuadro de lista, haga clic en Controlador y agente.
En la cuadrícula Nombre y Valor, elimine los criterios que excluyan a agentes que desea utilizar para ejecutar la prueba.
Cuando finalice, haga clic en Aplicar y, a continuación, haga clic en Aceptar.
No se pudo obtener acceso al repositorio de resultados de la prueba de carga
Al ejecutar una prueba de carga, puede aparecer el mensaje siguiente:
No se pudo obtener acceso al repositorio de resultados de la prueba de carga
Una posible causa de este error es haber especificado incorrectamente las mayúsculas o minúsculas en los nombres de los parámetros al utilizar la utilidad de línea de comandos SQLCMD para configurar el repositorio de resultados de la prueba de carga. El código siguiente representa un comando de ejemplo para configurar un repositorio de resultados de prueba de carga en un servidor denominado ContosoServer1:
SQLCMD -S ContosoServer1 -U <user name> -P <password> -i loadtestresultsrepository.sql
Precaución: |
---|
En los parámetros se hace distinción entre mayúsculas y minúsculas. Debe escribir S, U y P en mayúscula, e i en minúscula. |
Para obtener más información, vea Cómo: Crear un repositorio de resultados mediante SQL.
No se puede generar la carga esperada
Un problema común al ejecutar una prueba de carga es no poder generar la carga que se espera. La tabla siguiente muestra algunas posibles causas de este problema:
La carga máxima se encuentra limitada por el tiempo de reflexión o por el número de usuarios virtuales. |
Si el tiempo de reflexión se encuentra activado, puede limitar la velocidad a la que cada usuario virtual puede enviar solicitudes. Por ejemplo, 5 segundos de tiempo de reflexión por solicitud produce como máximo 0,2 solicitudes por segundo por usuario virtual. Puede probar a hacer uno de los cambios siguientes, por orden de preferencia:
|
La propiedad de proxy de la prueba Web se ha establecido en el valor predeterminado. |
Se recomienda utilizar el valor predeterminado para la configuración del proxy de una prueba Web porque permite la detección automática del servidor proxy. Sin embargo, utilizar el valor predeterminado como configuración de proxy puede producir problemas de rendimiento en las pruebas de carga, así como reducir en gran medida la productividad máxima. Se recomienda no utilizar un servidor proxy cuando se ejecuten pruebas de carga. Si se requiere un servidor proxy, especifique el nombre del servidor proxy en lugar del valor predeterminado. |
Cuellos de botella de aplicación. |
Recuerde que la herramienta de prueba de carga está diseñada para encontrar cuellos de botella en la aplicación. Si tiene páginas con tiempos de respuesta altos porque existen cuellos de botella de base de datos o CPU, limitará el número de solicitudes por segundo que puede emitir cada usuario virtual. Empiece con una cantidad de carga pequeña y asegúrese de que el tiempo de respuesta se mantiene en un nivel razonable mientras va aumentando la carga poco a poco. Puede utilizar la propiedad Objetivo de tiempo de respuesta para establecer el tiempo de respuesta máximo esperado para cada solicitud. |
Se ha superado el límite de capacidad de la CPU, la memoria o la red del servidor Web. |
Si se ha superado la capacidad de la CPU, la memoria o la red del servidor Web, quizás no pueda generar la carga que espera. Es posible que haya alcanzado el límite de carga del servidor. Puede aumentar la capacidad de la CPU, la memoria o la red del servidor Web. |
Se ha superado la capacidad de la CPU, la memoria o la red del equipo que genera la carga. |
Quizás necesite equipos con mayor capacidad, o más equipos agente, para generar la carga deseada. |
Se ha superado la capacidad de la CPU, la memoria o la red del servidor de bases de datos (si es aplicable). |
Si se ha superado la capacidad de la CPU, la memoria o la red del servidor de bases de datos, quizás no pueda generar la carga que espera. Es posible que haya alcanzado el límite de carga del servidor de bases de datos. Puede aumentar la capacidad de la CPU, la memoria o la red del servidor de bases de datos. |
Limitaciones de generación de carga en equipos con varios núcleos
Al ejecutar pruebas de carga en equipos con varios núcleos, se aplican las siguientes limitaciones de generación de carga:
Si el equipo ejecuta Visual Studio Team System Test o Visual Studio Team System, la generación de carga se limita a un núcleo.
Si el equipo ejecuta Visual Studio Team System Test Load Agent, no existen limitaciones en la generación de carga; se ejecuta en todos los núcleos y procesadores.
Vea también
Tareas
Solucionar problemas de Test Edition
Solución de problemas de pruebas web
Solución de problemas de controladores, agentes y plataformas de pruebas
Cómo: Crear un repositorio de resultados mediante SQL
Conceptos
Consideraciones sobre pruebas de carga grandes
Controladores, agentes y plataformas de pruebas
Analizar los errores de las pruebas de carga
Analizar las infracciones a las reglas de umbral