Compartir a través de


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.

Nota de precauciónPrecaució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

Nota de precauciónPrecaució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:

  1. Aumente el número de usuarios virtuales para una generación de carga más realista. Al aumentar el número de usuarios virtuales, normalmente se necesita más memoria.

  2. Reduzca el tiempo de reflexión.

  3. Desactive el tiempo de reflexión para una generación de carga máxima.

Nota de precauciónPrecaució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

Estrategias para solucionar problemas de controladores de pruebas y agentes de prueba en pruebas de carga

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

Analizar las infracciones de las reglas de umbral en las pruebas de carga usando el Analizador de prueba de carga

Otros recursos

Solucionar problemas de emulación de red en pruebas de carga

Solucionar problemas de pruebas de carga y rendimiento web

Distribuir las pruebas de carga entre varias máquinas mediante controladores de prueba y agentes de prueba