Hace poco nos encontramos con un cliente que necesitaba procesar más de 10 millones de líneas desde Journal Batches de FAH (XLA) hacia General Ledger.
El entorno de producción contaba con servidores Intel Xeon de 3.5 GHz con 4 CPU y 16 GB de RAM para el aplicativo, y 8 CPU y 16 GB de RAM para la base de datos. A primera vista, estos servidores pueden parecer pequeños, pero el verdadero problema radicaba en el uso eficiente de los recursos. Se ejecutaba una solicitud simultánea de Journal Import utilizando únicamente un núcleo de CPU. Cuanto mayor era el batch, más se prolongaba el procesamiento y, en ocasiones, se producía una escasez de memoria.
Para resolver esta situación, implementamos una solución lógica: dividir Journal Batches más grandes en lotes más pequeños y ejecutarlos todos en paralelo.
La idea principal fue obtener Journal Batches más reducidos y equilibrados, lo que nos permitió utilizar todos los núcleos de CPU de manera efectiva.
Gracias a esta solución, logramos reducir el tiempo de procesamiento de 10 horas a tan solo 30 minutos.