Punto de referencia para escalabilidad y desempeño

<< Clic para mostrar Tabla de Contenidos >>

Navegación:  Automation Server > Automation Server - requerimientos de sistema > Desempeño y Optimización >

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.:

 

Benchmark_Overview2

 

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).

 

note_pin

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:

 

Travel Request_workitems2

 

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 primariamente 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:

 

CPU_S

 

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:

 

CPU_M

 

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:

 

CPU_L

 

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:

 

CPU_All

 

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:

 

Mem_S

 

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:

 

Mem_M

 

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:

 

Mem_L

 

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:

 

Mem_All

 

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:

 

IO_S

 

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:

 

IO_M

 

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:

 

IO_L

 

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:

 

IO_All

 

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.

De esta forma, se puede determinar si se deben adicionar nodos a la configuración del clúster. La hoja de Excel se llama Sizing estimator, para más información favor consultar la sección Dimensionamiento del hardware (cálculo de capacidad).