Punto de referencia para escalabilidad y desempeño

<< Clic para mostrar Tabla de Contenidos >>

Punto de referencia para escalabilidad y desempeño

 

Punto de referencia para escalabilidad y desempeño

  •     Introducción
  •     Versión Software
  •     Metodología
  •     Perfil del punto de referencia y configuración del ambiente de pruebas.
  •     Configuración Hardware
  •     Proceso de negocio del punto de referencia
  •         Características del proceso ejemplo
  •     Escenarios y conceptos del punto de referencia
  •         Definición de rendimiento
  •     Resultados
  •         Uso de la CPU
  •         Uso de memoria
  •         Uso de IO
  •     Importante
  •     Recursos y documentación adicional
  • 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:

     

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

    En este articulo