Métricas para Informes de Pruebas de Rendimiento.

Anuncio
UNIDAD DE CALIDAD Y CERTIFICACIÓN.
Métricas para Informes de Pruebas de
Rendimiento.
Unidad de Calidad y Certificación.
Indicadores de métricas para Informes de Rendimiento v1.3.
Fecha : 18/11/2014
Pag 1
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
2.3.2
Gráficas ................................................................................................................ 12
Indicadores de métricas para Informes de Rendimiento v1.3.
Fecha : 18/11/2014
Pag 2
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.
2.
3.
4.
Internet.
Web.
Tiempos de Página.
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.
Connects failed / sec. Deberían ser cero.
Indicadores de métricas para Informes de Rendimiento v1.3.
Fecha : 18/11/2014
Pag 3
UNIDAD DE CALIDAD Y CERTIFICACIÓN.
Métrica.
Active users.
Descripción
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
Active users.
Descripción
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
Respuestas HTTP 4xx
El número de peticiones HTTP fallidas
Errores cliente (típicamente estos errores
representan un problema en el script o perfil).
Respuestas HTTP 5xx
Páginas HTTP
Errores del servidor
El número de páginas HTML descargadas con
éxito.
Número de peticiones http que llegan al servidor
Web.
Throughput / Concurrency - Http Hits
Indicadores de métricas para Informes de Rendimiento v1.3.
Fecha : 18/11/2014
Pag 4
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
Active users.
Descripción
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).
Trans. OK[s] y Trans.(busy) OK[s]. Ambas métricas miden lo mismo, el tiempo de respuesta en segundos
para las transacciones que han finalizado con éxito. La primera métrica incluye el Think Time y el
segundo no. No obstante ambos deberían ser estables durante la prueba independientemente de la
carga de usuarios (Active users).
Indicadores de métricas para Informes de Rendimiento v1.3.
Fecha : 18/11/2014
Pag 5
UNIDAD DE CALIDAD Y CERTIFICACIÓN.
Métricas
Active users.
Descripción
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.
El tiempo de respuesta en segundos para las transacciones. Este tiempo no
incluye el Think Time.
Trans.(busy) OK[s]
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.
2.
3.
4.
5.
6.
7.
8.
2.2.1
Peticiones Web.
Webservices.
Base de Datos.
Datasource.
Uso de la memoria.
Porcentaje de actividad del GC (Recolector de basura).
Excepciones.
Errores.
Peticiones Web.
Total Avg {ms]. No deberán superarse tiempos medios de respuesta de más de 4 segundos.
Total Max [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
URL
Descripción
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.
Total Max [ms]
Tiempos de las peticiones más lentas.
Indicadores de métricas para Informes de Rendimiento v1.3.
Fecha : 18/11/2014
Pag 6
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 HTTPRequest.
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
Endpoint and Class
Descripción
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.
Tamaño máximo del pool de conexiones.
Total Min [ms]
Total Max [ms]
Tiempo máximo en milisegundos
invocación del servicio Web.
empleados
en
la
Total Sum [ms]
Tiempo máximo en milisegundos
invocación del servicio Web.
empleados
en
la
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
Sentencia SQL.
Descripción
Sentencia SQL que se ejecuta.
Executions
Número total de ejecuciones.
Indicadores de métricas para Informes de Rendimiento v1.3.
Fecha : 18/11/2014
Pag 7
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
datasource.
Indicadores de métricas para Informes de Rendimiento v1.3.
Fecha : 18/11/2014
Pag 8
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.
Total de peticiones que están en espera parar obtener una
conexión del datasource la obtengan o no finalmente.
Thread Wait Count.
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.
Si el valor es mayor que 0 indica que hay problemas de
conexión con la base de datos.
Failures to Reconnect Count.
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
ejecutado la llamada close().
Indicadores de métricas para Informes de Rendimiento v1.3.
Fecha : 18/11/2014
Pag 9
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
Used Memory
Descripción
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
Uso del Garbage Collector (GC)
Descripción
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.
Porcentaje medio.
Porcentaje medio de actividad del GC.
Indicadores de métricas para Informes de Rendimiento v1.3.
Fecha : 18/11/2014
Pag 10
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.
-
Total de errores por tipo.
Errores que afectan a transacciones.
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.
2.2.8
Excepciones.
Métricas
Clase
Descripción
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:
2.3.1
Datos
2.3.1.1 Descripción prueba
Duración de la prueba: minutos
Inicio de la ejecución: hora
Fin de la ejecución: hora
Usuarios concurrentes: número
2.3.1.2 Descripción del entorno hardware
Procesador (número y tipo)
Indicadores de métricas para Informes de Rendimiento v1.3.
Fecha : 18/11/2014
Pag 11
UNIDAD DE CALIDAD Y CERTIFICACIÓN.
Memoria RAM: cantidad en MB
2.3.1.3 Resultados
Tiempo de respuesta por página (mínimo, medio, máximo): segundos
Ejecuciones correctas / fallidas por caso de prueba: número
Sumario de respuestas HTTP 4xx, 5xx: número
Throughput: número
Consumo CPU: %
Consumo de memoria de la JVM: número y %
% de actividad del Garbage Collector
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
Listado de URL’s consultadas y detallando para cada una los tiempo mínimo, tiempo máximo, tiempo
medio, desviación estándar, Percentil
Indicadores de métricas para Informes de Rendimiento v1.3.
Fecha : 18/11/2014
Pag 12
Descargar