Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Reporte Ejecutivo Hilos Tomcat Promad 29012022
Reporte Ejecutivo Hilos Tomcat Promad 29012022
Reporte ejecutivo
mejora de rendimiento
de solución ORDS
Fecha de
29/01/2022
elaboración:
ÍNDICE
Objetivo General
Objetivos Específicos
Metodología
Análisis de resultados
Fichero de configuración
Conclusión
Fecha de
29/01/2022
elaboración:
Objetivo General
Objetivos Específicos
Fecha de
29/01/2022
elaboración:
Metodología
Para realizar las pruebas de estrés del sistema y medición de los valores de rendimiento
del sistema se utilizaron las siguientes herramientas:
Dentro del alcance de las pruebas se consideró el uso de utilidades del sistema operativo,
debido a que se pretende hacer un análisis más profundo de la cantidad de subprocesos
que se utilizan en un ambiente similar a C5, con el fin de obtener los valores mínimos y
máximos que cada una de las soluciones debe considerar para un rendimiento óptimo.
La intención de este análisis es descubrir cuántos recursos del servidor son necesarios
para soportar la transaccionalidad de las peticiones que se tienen en el entorno de
producción de C5, para realizar esta actividad se ha tomado como prueba un servidor de la
plataforma AWS que cuenta con características iguales a los servidores de bases de datos
de C5 las cuales consisten en un sistema operativo CentOS 7.9 con 32 vCPU y 128 GB de
memoria RAM.
Fecha de
29/01/2022
elaboración:
Análisis de resultados
Ambiente productivo
Imagen 1. Hilos (threads) asignados por el sistema operativo al servicio Tomcat (334 hilos)
Durante el incidente reportado el día 28 de enero de 2022 con el número de ticket 1112464
los parámetros de sistema (mediante la utilidad TOP con los argumentos {‘f', ‘seleccionar la
opción nTH’, ‘s’ y ‘q’}) detectados fueron los siguientes: el proceso de Java registró un
incremento de hilos de 334, lo cual detona en la saturación e incremento de sesiones de
ORDS, por lo que se procede con el protocolo de limpieza de sesiones de ORDS para
restablecer la operatividad.
Ambiente de pruebas
Para este apartado se utilizó la utilidad TOP (con los parámetros ajustados para visualizar
los hilos consumidos por proceso {‘f', ‘seleccionar la opción nTH’, ‘s’ y ‘q’} ), donde se
apreció la cantidad de recursos que el sistema operativo asignó al servicio de Tomcat,
puntualmente mediante el uso de la utilidad top se determinaron los valores máximos que
asigna el sistema operativo:
Imagen 2. Hilos (threads) asignados por el sistema operativo al servicio Tomcat (306 hilos)
Como se puede apreciar en la imagen el valor máximo de hilos que otorga el sistema
Fecha de
29/01/2022
elaboración:
procesa, a nivel de usuario final lo que se percibe es que el sistema cierra sesiones
inesperadamente, lentitud en interacción con el aplicativo y en otros casos los folios de
operador no pueden enviarse a despacho.
Para simular un flujo de carga fuerte, se tomó como referencia el día 07/09/2021 (se
generó un sismo a nivel nacional), considerando la primera hora desde el reporte del
siniestro (20:50:00 hasta las 21:50:00), obteniendo los valores directamente de la base de
datos de C5, con los siguientes resultados:
Fecha de
29/01/2022
elaboración:
Finalmente se determina que el valor óptimo de procesos para ese usuario debe ser de
8192 (lo que se realiza de manera transparente para el sistema operativo) debido a la
cantidad de peticiones que debe de procesar (no se considera un número mayor ya que si
se generan demasiados procesos, se podría sobrecargar el servidor).
Fecha de
29/01/2022
elaboración:
Imagen 4. Esquema standalone de peticiones hacia el servicio de ORDS desde cluster kubernetes
Fecha de
29/01/2022
elaboración:
Como mejora del servicio de ORDS se propone realizar la migración del esquema
standalone hacia contenedor, debido a que se aprovechan las ventajas de kubernetes,
tales como la autoescalibilidad, el manejo de réplicas, optimización en el manejo de
conexiones (ya que las peticiones se realizarán dentro de la red mesh del componente
istio), lo cual garantiza alta disponibilidad de los contenedores.
Fecha de
29/01/2022
elaboración:
En el ambiente de prueba fue posible obtener los parámetros a nivel de sistema operativo
de la solución de ORDS por contenedores (la cual maneja la versión de tomcat 9), cómo
es posible ver en la imagen 5 se detectan 40 hilos del proceso dockerd (notando la mejora
en la cantidad de procesos creados por el sistema operativo).
Fecha de
29/01/2022
elaboración:
Fichero de configuración
La estructura que debe tener el fichero YML para el microservicio de ORDS se define en el
siguiente archivo:
ords cad.yml
Por destacar algunos de los valores que contiene el YML son los siguientes:
● Número de réplicas: 5
Fecha de
29/01/2022
elaboración:
Imagen 9. Hostname de base de datos (apuntamiento a servidores de base de datos) definido dentro
del fichero YML
Conclusión
Fecha de
29/01/2022
elaboración: