Métricas para Informes de Pruebas de Rendimiento.

Texto completo

(1)

UNIDAD DE CALIDAD Y CERTIFICACIÓN.

Métricas para Informes de Pruebas de

Rendimiento.

(2)

UNIDAD DE CALIDAD Y CERTIFICACIÓN.

Contenido

1

INTRODUCCIÓN. ... 3

2

MÉTRICAS PARA INFORMES DE PRUEBAS DE RENDIMIENTO. ... 3

2.1

MÉTRICAS CLIENTE. ... 3

2.1.1

Internet ... 3

2.1.2

Web. ... 4

2.1.3

Tiempos de página. ... 5

2.1.4

Transacciones. ... 5

2.2

MÉTRICAS SERVIDOR. ... 6

2.2.1

Peticiones Web. ... 6

2.2.2

Webservices. ... 7

2.2.3

Base de datos. ... 7

2.2.4

Datasource. ... 8

2.2.5

Uso de la memoria. ... 10

2.2.6

Porcentaje de actividad del GC. ... 10

2.2.7

Errores. ... 11

2.2.8

Excepciones. ... 11

2.3

Métricas mínimas ... 11

2.3.1

Datos ... 11

(3)

UNIDAD DE CALIDAD Y CERTIFICACIÓN.

1 INTRODUCCIÓN.

La Unidad de Calidad y Certificación utiliza las siguientes herramientas para obtener las métricas de rendimiento de una aplicación bajo las siguientes perspectivas:

· SILKPERFORMER para obtener las métricas desde el lado del usuario final. · DYNATRACE análogo desde el lado del servidor.

En los siguientes apartados se recogen las métricas que desde la Unidad de Calidad y Certificación se consideran relevantes para aportar información sobre las pruebas de rendimiento realizadas sobre una aplicación.

2 MÉTRICAS PARA INFORMES DE PRUEBAS DE RENDIMIENTO.

De todas las métricas reflejadas se han marcado en azul aquellos que aporten valor para una adecuada evaluación de la prueba de rendimiento.

2.1 MÉTRICAS CLIENTE.

Las métricas del rendimiento de la aplicación desde el lado del usuario se han agrupado del modo siguiente:

1.

Internet.

2.

Web.

3.

Tiempos de Página.

4.

Transacciones.

En cada una de esas agrupaciones se ha mantenido el dato de Active Users (número de usuarios activos durante la ejecución de la prueba) ya que el resto de métricas van a estar relacionados con este valor. El número de usuarios activos en principio no superaría el valor de 100.

2.1.1 Internet

Errors. Deben ser cero.

Concurrent connections. Las conexiones deben escalar en función del número de usuarios (Active

users).

Request data sent[kB] / sec. y Response data received[kB] / sec. Normalmente, se debería ver

una correlación positiva entre los datos enviados y recibidos y la carga.

(4)

UNIDAD DE CALIDAD Y CERTIFICACIÓN.

Métrica. Descripción

Active users. Número de usuarios activos durante la ejecución de la

prueba.

Errors Número de errores por segundo.

Concurrent connections. El número de conexiones TCP/IP que actualmente hay abiertas.

Request data sent[kB] / sec. La suma de los datos de todas las peticiones relacionadas con la

petición y la recuperación de una página web entera incluyendo todos los objetos embebidos.

Response data received[kB] / sec. La suma de los datos de todas respuestas relacionadas con la

petición y la recuperación de objetos embebidos en una página Web.

Connects failed / sec Conexiones fallidas.

2.1.2 Web.

Http Hits / Sec. Debería indicar una correlación positiva con la carga (Active users). Hits failed. Deberían ser cero.

Respuestas HTTP 4xx y Respuestas HTTP 5xx. No deberían mostrarse errores http 4xx y 5xx.

Métrica Descripción

Active users. Número de usuarios activos durante la ejecución

de la prueba.

Http Hits / Sec. El número de peticiones HTTP que llegan al

servidor Web con éxito.

Http pages / sec. El tiempo que se tarda en recuperar una página

Web completa desde el servidor, es decir, para recuperar todos los documentos HTML y todos

los documentos embebidos tales como

imágenes, vídeos y archivos de audio.

Hits failed El número de peticiones HTTP fallidas

Respuestas HTTP 4xx Errores cliente (típicamente estos errores

representan un problema en el script o perfil).

Respuestas HTTP 5xx Errores del servidor

Páginas HTTP El número de páginas HTML descargadas con

éxito.

Throughput / Concurrency - Http Hits Número de peticiones http que llegan al servidor

(5)

UNIDAD DE CALIDAD Y CERTIFICACIÓN.

2.1.3

Tiempos de página.

Pages Time [s]. Normalmente, los tiempos de páginas deben permanecer constantes a lo largo de

la prueba de carga. Este tiempo deberá ajustarse al requisito particular establecido para la aplicación. Desde la Unidad de Calidad y Certificación se recomienda que sea menor de 8 segundos.

Server busy time [s] Tiempo servidor ocupado. Los tiempos de servidor ocupado deben

permanecer constantes a lo largo de la prueba.

Document download time [s] + Server busy time [s]: Deberían dar lugar al Pages Time [s].

Métricas Descripción

Active users. Número de usuarios activos durante la

ejecución de la prueba.

Pages Time [s] El tiempo que se tarda en recuperar una página Web

completa desde el servidor, es decir, para recuperar todos los documentos HTML y todos los documentos embebidos, tales como imágenes, vídeos y archivos de audio.

Document download time [s] El tiempo que se tarda en recuperar todos los

documentos HTML de la página Web.

Server busy time [s] El tiempo que el servidor tarda en procesar una

petición. La medición empieza después de que el usuario virtual haya enviado el último byte de la petición y finaliza cuando el usuario recupera el primer byte de la respuesta.

Page Data [KB] La suma de los datos de todas las peticiones y

respuestas relacionadas con la petición y la recuperación de una página web entera incluyendo todos los objetos embebidos.

Embedded objects data[kB] La suma de los datos de todas las peticiones y

respuestas relacionadas con la petición y la recuperación de objetos embebidos en una página Web.

Datos página [KB]/

2.1.4

Transacciones.

Transactions. Normalmente, se debería ver una correlación positiva entra las transacciones/seg y la carga (usuarios activos).

(6)

UNIDAD DE CALIDAD Y CERTIFICACIÓN.

Métricas Descripción

Active users. Número de usuarios activos durante la ejecución de la prueba.

Transactions Numero de transacciones por segundo.

Trans. OK[s] El tiempo de respuesta en segundos para las transacciones que han finalizado

con éxito. El tiempo de respuesta incluye el Think Time.

Trans.(busy) OK[s] El tiempo de respuesta en segundos para las transacciones. Este tiempo no

incluye el Think Time.

Trans. failed[s] El tiempo de respuesta en segundos para las transacciones que han fallado.

Una transacción falla si ocurren errores de severidad "error" o "superior" dentro de la transacción.

2.2 MÉTRICAS SERVIDOR.

Dynatrace es una herramienta de monitorización que recoge métricas del servidor, peticiones web, operaciones de base de datos, webservices, memoria, errores, etc…)

1.

Peticiones Web.

2.

Webservices.

3.

Base de Datos.

4.

Datasource.

5.

Uso de la memoria.

6.

Porcentaje de actividad del GC (Recolector de basura).

7.

Excepciones.

8.

Errores.

2.2.1 Peticiones Web.

Total Avg {ms]. No deberán superarse tiempos medios de respuesta de más de 4 segundos. TotalMax [ms]. No deberán superarse tiempos máximos de respuesta en más de 8 segundos.

Failed %. El porcentaje de fallos deberá ser 0.

Métricas Descripción

URL Petición Web que se ejecuta.

Count Número de veces que se llama a la web request.

Total Avg {ms] Tiempo medio empleado en la web request.

Total Min [ms] Tiempos de las peticiones más rápidas.

(7)

UNIDAD DE CALIDAD Y CERTIFICACIÓN.

Total Sum [ms] Tiempo total de todas las peticiones web.

Web Request Response Time Avg [ms] Tiempo medio de respuesta del lado del servidor Web

HTTP-Request.

Failed % Porcentaje de fallo de la web request

2.2.2 Webservices.

Total Avg. No deberá superar tiempos medios de respuesta en la invocación al webservice más de 4

segundos.

Métricas Descripción

Endpoint and Class Petición http de llamada al Webservice.

Namespace and Method Nombre del método del webservice que se ha ejecutado.

Count Número de veces que el Webservice es invocado por el

cliente.

Total Avg [ms] Tiempo medio en milisegundos empleados en la invocación

del servicio Web.

Total Min [ms] Tamaño máximo del pool de conexiones.

Total Max [ms] Tiempo máximo en milisegundos empleados en la

invocación del servicio Web.

Total Sum [ms] Tiempo máximo en milisegundos empleados en la

invocación del servicio Web.

Failed % Porcentaje de fallo en las llamadas al webservices.

2.2.3 Base de datos.

Exec Avg [ms]. No deberán superarse tiempos medios de respuesta de más de 4 segundos. Exec Max [ms]. No deberán superarse tiempos máximos de respuesta de más de 8 segundos.

Failed %. El porcentaje de fallos deberá ser 0.

Métricas Descripción

Sentencia SQL. Sentencia SQL que se ejecuta.

(8)

UNIDAD DE CALIDAD Y CERTIFICACIÓN.

Preparations Número de llamadas a PreparedStatement.

Exec Avg [ms] Tiempo medio en milisegundos empleados en la ejecución de

la sentencia SQL.

Exec Min [ms] Tiempo mínimo en milisegundos empleados en la ejecución

de la sentencia SQL.

Exec Max [ms] Tiempo máximo en milisegundos empleados en la ejecución

de la sentencia SQL.

Response Time [ms] Tiempo de respuesta en milisegundos.

RT/Exec [ms] Media de tiempo de respuesta por ejecución [ms]. Incluye el

tiempo de adquisición de la conexión y la ejecución de la sentencia SQL.

Acqu Avg [ms] Tiempo medio de adquisición de la conexión de llamadas

getConnection [ms].

Acqu Total [ms] Tiempo total de adquisición de la conexión.

Failed % Porcentaje de fallo en las ejecuciones de sentencias SQL.

2.2.4 Datasource.

Pool Usage. No deberán superarse el tamaño máximo del pool de conexiones.

Thread Wait Count. No deberá existir más de un thead esperando a obtener la conexión de BD. Prepared statement cache discard rate. No debe existir ninguna sentencia SQL sin cachear. Leaked Connections. No debería quedarse ninguna conexión abierta en BD.

Métricas

Descripción

DATASOURCE Objeto que permite la conectividad de base de datos a través

de un pool de conexiones JDBC.

Pool de Conexiones. Manejo de una colección de conexiones abiertas a una base

de datos de manera que puedan ser reutilizadas al realizar múltiples consultas o actualizaciones.

Pool Usage. Si la conexión activa alcanza el tamaño máximo del pool, el

pool de conexiones debería ser redimensionado.

Active Connection Current Count. Total de conexiones JDBC activas del pool de conexiones del

(9)

UNIDAD DE CALIDAD Y CERTIFICACIÓN.

Maximum Size. Tamaño máximo del pool de conexiones.

Connection Acquisition. Si hay elevados tiempos de retardo y múltiples threads en

espera para la obtención de la conexión se debe a una saturación del pool, habría que revisar la configuración del pool .

Delay Time. El tiempo medio, en milisegundos, empleado para crear una

conexión física a la base de datos. El valor se calcula como la suma de todos los tiempos de conexión dividida por el número total de conexiones.

Thread Wait Count. Total de peticiones que están en espera parar obtener una

conexión del datasource la obtengan o no finalmente.

Prepared statement cache discard rate. Si el valor es mayor que 0 indica una incidencia en el tamaño

de la cache de los prepared statement o un uso inapropiado de los prepared statement.

Prepared statement cache Delete count Total de statements descartadas de la cache.

Cada conexión del pool de conexiones tiene su propio caché de sentencias. Esta métrica es la suma del número de sentencias que fueron descartadas de la caché por todas las conexiones del pool.

Failures to Reconnect Count. Si el valor es mayor que 0 indica que hay problemas de

conexión con la base de datos.

Fallos al reiniciar el contador El número total de intentos de conexión con la base de datos

fallidos. Los fallos pueden ser debidos a que la base de datos está caída o bien porque existe algún problema con la conexión de red a la base de datos

Creación de conexiones. Contador de conexiones creadas. El número de conexiones

creadas en el datasource.

Leaked Connections. Conexiones que no se han cerrado apropiadamente.

Leaked Count. Número de conexiones que no se han cerrado. No se ha

(10)

UNIDAD DE CALIDAD Y CERTIFICACIÓN.

2.2.5 Uso de la memoria.

Max Memory. No debe alcanzar el total de memoria máxima de la JVM dónde está desplegada la aplicación.

Métricas Descripción

Used Memory Memoria consumida por la aplicación durante la ejecución

de la prueba.

Memoria mínima en MB consumida durante la ejecución de la prueba.

Memoria máxima en MB consumida durante la ejecución de la prueba.

Memoria media en MB consumida durante la ejecución de la prueba.

Garbage Collector(GC) Time. Tiempo de Actividad del GC en milisegundos.

Tiempo medIo. Tiempo medio en milisegundos de actividad del GC.

Tiempo máximo. Tiempo máximo en milisegundos de actividad del GC.

2.2.6 Porcentaje de actividad del GC.

Porcentaje máximo. No debe superar el 30% de actividad del GC de manera contínua.

Métricas Descripción

Uso del Garbage Collector (GC) Porcentaje de uso del Garbage Collector.

Porcentaje mínimo. Porcentaje mínimo de actividad del GC.

Porcentaje máximo. Porcentaje máximo de actividad del GC.

(11)

UNIDAD DE CALIDAD Y CERTIFICACIÓN.

2.2.7 Errores.

La aplicación no debería tener errores no controlados.

Métricas Descripción

Errores producidos durante la ejecución de la prueba.

Tipología de Errores: Errores de Base de datos.

Errores no tratados por la aplicación. Mensajes de Log.

Errores http 4xx. Errores del cliente. Errores http 5xx. Errores del servidor.

- Total de errores por tipo.

- Errores que afectan a transacciones.

2.2.8 Excepciones.

Métricas Descripción

Clase Clase que instancia la excepción.

Mensaje Mensaje capturado en la excepción.

Count Número de veces que es lanzada la excepción.

Throwing Class Clase que lanza la excepción.

Throwing Method Método que lanza la excepción.

2.3 Métricas mínimas

Sería idóneo que los informes de pruebas de rendimiento recojan las métricas anteriores. Cuando no

sea posible al menos deben incluir las siguientes:

(12)

UNIDAD DE CALIDAD Y CERTIFICACIÓN.

Consumo de memoria de la JVM,

% de Uso de CPU

% de actividad del GC

2.3.2 Gráficas

Hilos Concurrentes vs. Throughput (Bytes/seg) durante la ejecución

Hilos Concurrentes vs. Throughput (Nº de peticiones/seg) durante la ejecución

Tiempo de respuesta (seg)vs. Transacciones/hora durante la ejecución

Transacciones correctas y Transacciones fallidas durante la ejecución

Figure

Actualización...

Referencias

Actualización...

Related subjects :