<< Clic para mostrar Tabla de Contenidos >> Punto de referencia para escalabilidad y desempeño |
Introducción
Para Bizagi, es de suprema importancia que sus proyectos logren entregar procesos de negocios que satisfagan completamente las expectativas de los clientes.
Entre estas expectativas y soportando al mismo tiempo soportando poderosos aspectos funcionales, Bizagi se compromete a cumplir con otros aspectos no funcionales tales como desempeño apropiado y robustez, en especial para los volúmenes representativos determinados por los requerimientos del cliente.
Para poder desarrollar estos procesos en una plataforma con un desempeño adecuado, es importante que los clientes sigan las recomendaciones adecuadas emitidas por Bizagi, las cuales incluyen documentación oficial online o cualquier otro documento proporcionado por personal autorizado de Bizagi.
Este documento presenta una prueba de carga que se puede usar como punto de referencia, que permite tomar decisiones para el dimensionamiento correcto de la arquitectura del sistema teniendo en cuenta los requerimientos de hardware y la configuración apropiada que provean la infraestructura necesaria para el funcionamiento adecuado de Automation Server.
Versión Software
La prueba de carga se aplicó en la versión 10.7 de Automation Server, corriendo sobre una plataforma JEE.
Metodología
La prueba de carga que se efectuó en este documento se construyó usando una aplicación automática que corre múltiples instancias de un mismo proceso de negocio. Esta prueba se corrió sobre 3 escenarios de referencia: Carga baja, Carga media y Carga alta.
El objetivo es mostrar los resultados obtenidos de estas pruebas en términos de uso del CPU, memoria y I/O.
Estos resultados se enfocan en el procesamiento y los recursos demandados por las operaciones de Back-end del servidor de Bizagi (sobre el cual corre Automation Server).
Es importante notar que el procesamiento de las interfaces de usuario no se incluye en estos datos ya que estos corren sobre los dispositivos y no sobre el servidor.
Perfil del punto de referencia y configuración del ambiente de pruebas.
La siguiente imagen muestra la arquitectura del sistema y las configuraciones que se usaron en las pruebas.:
Los servidores usados para las pruebas de carga se dedicaron exclusivamente a la ejecución de estas pruebas. No se ejecutó simultáneamente ninguna otra aplicación de negocios que pudiera interferir con la disponibilidad de los recursos del servidor (un ambiente de pruebas controlada).
Si planea ejecutar otras aplicaciones sobre el mismo servidor en el cual corre Automation Server o la base de datos debe asegurarse que el dimensionamiento y configuración de dichas aplicaciones no interfieren con el desempeño de los procesos en Bizagi. |
Configuración Hardware
Las siguientes características describen la configuración hardware en cada una de las capas en los elementos relevantes de la imagen superior.
Capas de procesos digitales
La capa de procesos digitales aloja Automation Server.
Para las pruebas de carga, Automation Server> se usó una configuración de clúster con dos nodos usando Weblogic versión 12.1 sobre CentOS Linux versión 7.2.1511 (Core).
Cada nodo tiene las siguientes características:
nodo de clúster de Bizagi |
||
---|---|---|
HARDWARE |
RAM |
16 GB |
Disco Duro |
Dos discos de 80 GB - RAID 1, con 10,000 rpm de velocidad del disco. |
|
Procesador |
Intel(R) Xeon(R) CPU E5-2665 0, usando cuatro núcleos de 2.40 GHz (64-bit) |
Capa de la base de datos
La capa de base de datos aloja la base de datos usada por los procesos de Bizagi.
Para esta prueba se usó una base de datos de Oracle 11g (versión 11.2.0.1) sobre CentOS Linux versión 7.2.1511 (Core).
SERVIDOR DE LA DASE DE DATOS |
||
---|---|---|
HARDWARE |
RAM |
16 GB |
Disco Duro |
Dos discos de 80 GB - RAID 1, usando drivers de estado solo |
|
Procesador |
Intel(R) Xeon(R) CPU E5-2665 0, usando cuatro núcleos de 2.40 GHz (64-bit) |
Características de la red
La base de datos se configure en el mismo segmento de red del clúster de Bizagi, con una velocidad de 10 Gbps (full duplex).
Proceso de negocio del punto de referencia
Como se mencionó en la sección de Metodología la prueba de carga usa un proceso de negocio de ejemplo que se presenta como la base de la prueba.
Por esto mismo es necesario entender que este proceso tiene sus propias características que pueden ser radialmente diferentes a las implementadas en su proyecto.
Esto significa que los resultados de las pruebas presentadas en este documente deben extrapolarse linealmente e interpretarse como los mínimos requerimientos necesarios (los resultados pueden variar).
Se espera que los resultados se complementen con un análisis de dimensionamiento detallado orientado a la implementación de sus procesos. Es decir, el análisis debe considerar cualquier factor que influya directamente en el desarrollo de los procesos en Bizagi.
Entre estos factores se incluyen: cualquier procesamiento significativo en la ejecución de sus reglas de negocio y puntos de integración (cuando Bizagi use API de terceros, servicios web externos u otros procesos que incluyan lógica pesada que consuma recursos significativamente), el tamaño estimado y la cantidad de los documentos que se adjuntan en Bizagi, así como cualquier otro aspecto de la operación o infraestructura del cliente en especial cuando se integra con sus otros sistemas corporativos.
Características del proceso ejemplo
Para esta prueba se usó como ejemplo el proceso Solicitud de viajes (tal como está disponible Bizagi Process Xchange).
Como este proceso tiene más de un posible camino, para las pruebas se usó únicamente el camino que termina el ciclo del proceso exitosamente sin producir ninguna excepción de negocios.
Este camino recorre el mayor número posible de elementos BPMN (actividades, subprocesos, eventos, compuertas etc.).
La siguiente imagen presenta el diagrama BPMN que define el proceso Solicitud de viajes y se evidencia el camino recorrido para estas pruebas:
Un total de 24 elementos BPMN son procesados en cada instancia del proceso.
Escenarios y conceptos del punto de referencia
Como el objetivo es proveer los resultados de estas pruebas de carga en términos de uso de la CPU, memoria y IO, así como el rendimiento general de los escenarios de prueba (Carga baja, Carga media y Carga alta) la siguiente sección describe la carga usada en cada uno de estos escenarios y la definición del rendimiento esperado en un proyecto de Bizagi.
Definición de rendimiento
El rendimiento de un proyecto de Bizagi se define como el número de elementos BPMN que se procesan por unidad de tiempo.
En la terminología de Bizagi, esto se conoce como el número de workitems procesados (por segundos).
Normalmente los workitems pueden modelarse principalmente como las actividades del proceso modelado, aunque incluye otros elementos como subprocesos, eventos y compuertas ya que estas involucran tanto procesamiento como lógica.
Escenario de carga baja
Este escenario usa una aplicación automática que genera 250 nuevos workitems por minuto.
Escenario de carga media
Este escenario usa una aplicación automática que genera 500 nuevos workitems por minuto.
Esta es una carga equivalente al doble de la carga del primer escenario (2x).
Escenario de carga alta
Este escenario usa una aplicación automática que genera 500 nuevos workitems por minuto.
Esta es una carga equivalente a cuatro veces la carga del primer escenario (4x).
Resultados
Los resultados de la prueba de carga que se presentan en este documento se clasifican en según el uso y desempeño de la CPU, memoria y IO.
Los siguientes resultados se tomaron de una muestra temporal de 600 segundos.
Uso de la CPU
Los porcentajes de uso de la CPU que se registraron en los tres escenarios, durante el periodo de muestreo seleccionado, son los siguientes.
Resultados carga baja
El porcentaje de uso de la CPU durante la prueba fue el siguiente:
Esta imagen puede resumirse en los siguientes valores:
oMáximo: 50%
oPromedio: 20.6180%
Resultados carga media
El porcentaje de uso de la CPU durante la prueba fue el siguiente:
Esta imagen puede resumirse en los siguientes valores:
oMáximo: 61%
oPromedio: 38.87013%
Resultados carga alta
El porcentaje de uso de la CPU durante la prueba fue el siguiente:
Esta imagen puede resumirse en los siguientes valores:
oMáximo: 100%
oPromedio: 69.16264 %
Comparación entre los diversos promedios de uso de la CPU
La siguiente imagen presenta los resultados de los tres escenarios:
Uso de memoria
Los porcentajes de uso de memoria que se registraron en los tres escenarios, durante el periodo de muestreo seleccionado, son los siguientes.
•Resultados carga baja
El porcentaje de uso de memoria durante la prueba fue el siguiente:
Esta imagen puede resumirse en los siguientes valores:
oMáximo: 43.5311 %
oPromedio: 28.7644 %
•Resultados carga media
El porcentaje de uso de memoria durante la prueba fue el siguiente:
Esta imagen puede resumirse en los siguientes valores:
oMáximo: 46.3461 %
oPromedio: 30.3962 %
•Resultados carga alta
El porcentaje de uso de memoria durante la prueba fue el siguiente:
Esta imagen puede resumirse en los siguientes valores:
oMáximo: 53.3583 %
oPromedio: 33.1713 %
•Comparación entre los diversos promedios de uso de memoria
La siguiente imagen presenta los resultados de los tres escenarios:
Uso de IO
Los porcentajes de uso de memoria que se registraron en los tres escenarios, durante el periodo de muestreo seleccionado, son los siguientes.
•Resultados carga baja
El porcentaje de uso de IO durante la prueba fue el siguiente:
Esta imagen puede resumirse en los siguientes valores:
oMáxima cantidad de KB escritos por segundo: 56
oCantidad promedio de KB escritos por segundo: 0.0881
oMáxima cantidad de KB leídos por segundo: 496
oCantidad promedio de KB leídos por segundo: 42.0994
•Resultados carga media
El porcentaje de uso de IO durante la prueba fue el siguiente:
Esta imagen puede resumirse en los siguientes valores:
oMáxima cantidad de KB escritos por segundo: 4.6
oCantidad promedio de KB escritos por segundo: 0.0062
oMáxima cantidad de KB leídos por segundo: 664
oCantidad promedio de KB leídos por segundo: 65.6982
•Resultados carga alta
El porcentaje de uso de IO durante la prueba fue el siguiente:
Esta imagen puede resumirse en los siguientes valores:
oMáxima cantidad de KB escritos por segundo: 4.58
oCantidad promedio de KB escritos por segundo: 0.0122
oMáxima cantidad de KB leídos por segundo: 1164
oCantidad promedio de KB leídos por segundo: 125.4052
•Comparación entre los diversos promedios de uso de IO
La siguiente imagen presenta los resultados de los tres escenarios:
Importante
La información aquí presente es de uso puramente informativo y está sujeta a cambios sin previo aviso.
No se garantiza que este documento esté libre de errores, ni sujeto a ninguna otra garantía o condición, ya sean orales o implícitas para la ley, incluyendo garantías implícitas ni de aptitud de comerciabilidad para un proyecto particular.
Bizagi declina expresamente toda responsabilidad relacionada con este documento y no genera ninguna obligación contractual directa o indirecta a través de este documento.
Recursos y documentación adicional
Es importante recordar en cualquier momento, que a cualquier momento se puede escalar su Proyecto de Bizagi.
Bizagi provee una hoja de Excel para realizar un análisis de dimensionamiento para sus requerimientos específicos usando el número de usuarios concurrentes y la cantidad de actividades que se deben procesar por unidad de tiempo.