Share via


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:

  1. 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.

  2. En el cuadro de lista, haga clic en Controlador y agente.

  3. En la cuadrícula Nombre y Valor, elimine los criterios que excluyan a agentes que desea utilizar para ejecutar la prueba.

  4. 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:

  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.

    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 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

Otros recursos

Repositorio de resultados de pruebas de carga