""

Cuadros de mando en tiempo real - lecciones aprendidas

Hay algunos escenarios en los que se requiere un ritmo rápido para el monitoreo de datos. Aquí es donde entran los paneles de control en tiempo real. Un panel de control en tiempo real puede mostrar información con un alto grado de frecuencia. Esta información es utilizada por el público para tomar decisiones rápidas para corregir el comportamiento de ciertas tendencias previsibles. Los cuadros de mando en tiempo real también pueden activar alertas basadas en umbrales empresariales que permiten al público reaccionar rápidamente basándose en información actualizada al minuto.

La inteligencia de negocios en tiempo real es relevante para múltiples industrias y departamentos. Los paneles de control se pueden usar para monitorear el desempeño del centro de llamadas, el uso del sistema de TI, la seguridad de los datos, los precios dinámicos y la optimización del inventario e incluso apoyar la detección de fraude y los esfuerzos de administración de riesgos. Basado en nuestra experiencia en la construcción de un panel de control en tiempo real para monitorear los datos del centro de llamadas, este artículo destacará los consejos y lecciones aprendidas para cualquier persona que esté llevando a cabo un proyecto similar.

ETL

Frecuencia de programación En realidad, el tablero no es en tiempo real. Es un trabajo por lotes con una frecuencia de actualización / actualización muy corta. En nuestro caso fue 1 minuto, que también es una limitación en los trabajos de batch de Data Services. Es importante conocer estas limitaciones y también saber cuán rápido puede ejecutar todo el trabajo por lotes ETL.

Si la duración total del trabajo por lotes> la frecuencia de ejecución del trabajo por lotes, se crean procesos superpuestos que inmediatamente pueden causar dos problemas:

  1. Sobrecarga el servidor o genera ralentizaciones de refresco

  2. Crear inconsistencias en sus datos si su ETL no hace correctamente bloques y colas de proceso de escritura a las tablas de DB.

Ejecutar optimización Dada la necesidad presentada anteriormente: duración total del trabajo por lotes

  • Página

  • En memoria

Página

Además, siempre que tenga un proceso de comparación de tablas, el rendimiento se puede optimizar ejecutando la comparación como un proceso separado.

Comparación de tablas

El método In se ejecuta más rápido cuando el servidor tiene suficientes recursos de RAM, sin embargo, si su servidor no tiene suficiente RAM libre, se sobrecargará y no podrá ponerse al día con nuevos procesos de desove, ejecutándose cada vez más en la memoria física hasta que cause un error. Bloqueo completo del servidor.

Gato

Gestión de memoria Tomcat, en determinadas circunstancias, no funciona bien con la gestión de memoria y la recolección de basura. Al ejecutar varios QAAWS cada minuto la memoria que utiliza puede acumularse muy rápidamente. Cualquier servicio Tomcat en un entorno Windows de 32 bits tendrá una limitación de 1.2 GB de memoria para asignar. Tomcat se vuelve inestable cuando alcanza ese límite y las nuevas solicitudes siguen llegando a una tasa constante.

Hay varios ajustes en Tomcat y JVM memoria que se puede hacer para optimizar esto.

Un ejemplo de estos ajustes es los límites de memoria que se pueden establecer cuando se inicia Tomcat; Estos se pueden establecer mediante el registro de Windows o modificadores de tiempo de ejecución.

Indicador de optimización de caché La aplicación QAAWS que viene incluida con Business Objects tiene una limitación establecida para las solicitudes de datos de caché. Cuando se realiza la misma solicitud en períodos de tiempo cortos, se envían los datos de la caché en lugar de ejecutar la consulta de nuevo. Para evitar esto y obtener nuevos datos cada vez, debe desactivar esta funcionalidad en las propiedades de la aplicación dsws:

dswsproperties

Para desactivarlo, debe establecer el indicador qaaws.cache_dpresult.optim como false.

caché qaaws

Reiniciar secuencia de comandos Con el fin de mantener el servicio Tomcat de sobrecargas de memoria es una buena práctica programar un reinicio durante la noche que obligará a la recolección de basura. El script puede ser muy básico o contener tareas de limpieza adicionales.

Guión

Contenedor HTML Colocar el archivo flash en el contenedor html le permitirá ejecutar algunas acciones antes y durante la ejecución del archivo flash. Puede ejecutar javascripts, pasar variables de flash obligatorias (es decir, suprimir mensajes de error de tomcat cuando ejecuta qaaws), etc.

El contenedor html más básico para un archivo flash xcelsius se verá de la siguiente manera:

Contenedor flash Xcelsius

Actualización automática del script Java Como se mencionó anteriormente, un contenedor HTML le permitirá ejecutar programas javascript en la ventana Explorer ejecutando su archivo flash xcelsius. Muchas aplicaciones se pueden dar a javascript, pero uno de ellos podría ser la función de auto-refresh de la página del navegador. Con la actualización puede borrar los errores obsoletos de la pantalla.

No Error flash Variable La variable flash sin error es una nueva funcionalidad en Xcelisus SP4. Le permite configurar las ventanas de error emergentes en casos en los que el error no está directamente relacionado con la lógica de Xcelsius, es decir, interrupciones de Tomcat, reinicios programados del sistema, etc.

Para añadir esta funcionalidad a cualquier panel de Xcelsius, primero debe agregar la entrada de la variable flash a su archivo xlf.

Variables de Flash

Finalmente, también es necesario pasar la variable al SWF como se indica en el ejemplo del código contenedor HTML anterior.

I hope these lessons learned are helpful to anyone working on a real time dashboard. Feel free to leave a comment or question below if you need more information on any of the tips provided in this post.

EspañolEnglish