Buenas tardes, estamos teniendo problemas para procesar en Sudocu archivos grandes.
Por lo que leimos en consultas de otros usuarios el problema viene por la memoria que se le asigna a Node.
El problema es que cuando le pasamos la variable de entorno NODE_OPTIONS: “–max-old-space-size=8192” en el api server, el servicio pareciera que no lo reconoce.
Lo agregamos tambien a la imagen ungs/sudocu-api-server:1.4.9 pero el resultado es el mismo, siempre esta con los 4 gb de default y no lo podemos modificar.
Tendran alguna solucion para esto?
Muchas gracias
Hola Federico, si dentro del contenedor sudocu-api-server ejecutas
echo $NODE_OPTIONS
te muestra el resultado
–max-old-space-size=4096?
Hola Elisa, si hago un Echo a la variable me aparece seteada en 8192, pero si hago
node -e ‘console.log(“Node heap limit:”, process.memoryUsage().heapTotal / (1024 * 1024));’ ( que tengo entendido que es la forma en la que muestra el limite de memoria que utiliza node ) aparece en 4196
dejo imagen
Hola! para determinar si está tomando el valor seteado en NODE_OPTIONS debes realizar estas consultas:
node -e 'console.log(require("v8").getHeapStatistics().total_available_size / (1024 * 1024))';
o puede usarse
node -e "console.log(require('v8').getHeapStatistics().heap_size_limit / (1024 * 1024))";
Si necesitan mejorar la performance al momento de autorizar documentos, pueden aumentar los recursos asignados cuando sea necesario en los servicios definidos en docs.yml y sudocu.yml, pueden saber cuanto se necesita chequeando el uso de recursos en tiempo real con docker stats -a
Cambios que pueden hacer en esos archivos yml:
- Aumentar el límite de CPU máximo modificando
resources → limits → cpu
de todos los servicios de documentos y sudocu en los que observen que llega casi al 100% de uso de CPU.
- Asignar más memoria ram máxima en
resources → limits → memory
de todos los servicios de documentos y sudocu en los que observen que llega casi al 100% de uso de RAM
- Asignar más recursos de reservations al stamper:
- resources → reservations → cpus
- resources → reservations → memory
- Aumento de la memoria del entrypoint en el archivo en expedientes/prod/arai/docs_stamper_entrypoint.sh
el valor -Xms512m que por defecto está seteado en el docs_stamper_entrypoint.sh, puede ser modificado y colocarlo en -Xms1024m o preferentemente -Xms2048m)
Recordar que es necesario realizar el redeploy de los servicios luego de modificar los archivos.yml.
Probar priemro estos cambios en un ambiente de testeo.
Saludos!