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