Solución de problemas de pruebas de carga
En este tema se indican los problemas que se producen habitualmente al trabajar con pruebas de carga en Visual Studio Ultimate.
No se puede utilizar Traza 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
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 Traza SQL
Cuando se ejecuta una prueba de carga de manera local y la traza SQL está habilitada, puede aparecer el mensaje siguiente:
Error al ejecutar la prueba. No se pudo iniciar la traza SQL: No tiene permiso para ejecutar 'SP_TRACE_CREATE'.
Para utilizar la traza SQL en una prueba de carga que se ejecuta localmente en un equipo con el sistema operativo Windows Vista, debe ser miembro del rol sysadmin en la instancia de SQL Server de la que se está realizando 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 usa SQL Express, puede ejecutar "sqlcmd - S . \SQLEXPRESS -i loadtestresultsrepository.sql" en el símbolo del sistema, en el directorio indicado anteriormente.
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 de pruebas de carga 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 de pruebas no pudo recopilar los resultados de los contadores de rendimiento de todos los equipos con la velocidad de muestra 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 prueba 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 de rendimiento web envía solicitudes a direcciones URL inexistentes, debería corregir la prueba de rendimiento web para corregir el error.
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 de pruebas de carga 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:
Precaución
Al desactivar el tiempo de reflexión, el motor de pruebas puede verse bastante afectado. Si desactiva el tiempo de reflexión, reduzca el número de usuarios virtuales.
|
La propiedad de proxy de la prueba de rendimiento web se ha establecido en el valor predeterminado. |
Se recomienda utilizar el valor predeterminado para la configuración del proxy de una prueba de rendimiento 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 de agentes de prueba, 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 Ultimate, la generación de carga se limita a un núcleo.
Si el equipo ejecuta Visual Studio Test Agent, no existen limitaciones en la generación de carga; se ejecuta en todos los núcleos y procesadores.
Vea también
Tareas
Solución de problemas de las herramientas de prueba para Visual Studio ALM
Solución de problemas de rendimiento web
Cómo: Crear un repositorio de resultados de pruebas de carga mediante SQL
Conceptos
Consideraciones sobre las pruebas de carga
Administrar los resultados de pruebas de carga en el repositorio de resultados pruebas de carga
Analizar los errores de las pruebas de carga con la tabla de errores
Otros recursos
Solucionar problemas de emulación de red en pruebas de carga