Viafirma Platform

Optimización JVM y contenedor de aplicaciones

Recursos Necesarios

Se tomará como ejemplo una instalación en un servidor de aplicaciones dedicado y sin otras aplicaciones.

  • RAM: 8GB
  • Micro: recomendado, 2 micros de 6 núcleos cada uno; a 2Ghz.
  • Disco: 20 GB (1)
  • Logs: estimado 1GB por cada millón de operaciones (1)
  • Custodia: variable según peso y número de documentos firmados. Estimado inicial 20 GB.
  • Logs de auditoría: estimado 1GB por cada millón de operaciones. Estimado incial 20 GB. (2)

En caso de optar por una instalación en varios servidores, o instalación en clúster, consultar con el soporte técnico de viafirma las opciones recomendadas para cada caso.

(1): los logs incluyen configuración de rotación, por lo que la optimización de estos logs podrá definirse por el administrador del sistema en función a las políticas de espacio en disco deseadas.

(2): el log de auditoría es opcional, y se recomienda mantener cuando se instale de forma conjunta a viafirma manager, quien consumirá la auditoría volcada por viafirma platform para persistirla en su base de datos, momento en el cual el log de auditoría podría ser borrado en disco.

Asignación de memoria

Dependiendo de la memoria RAM asignada al servidor en el que realizamos la instalación, debemos ajustar el JAVA HEAP y la estrategia del GARBAGE_COLLECTOR de la JVM.

Ejemplo configuración con 8GB RAM

Si el servidor cuenta con 8GB de RAM, una configuración adecuada para la JVM con una asignación de memoria de 6GB, quedaría como sigue:

-Dfile.encoding=UTF-8 -Djava.awt.headless=true -Xmx6G-server-Xms1G  -XX:NewSize=128m -XX:MaxNewSize=256m -XX:SurvivorRatio=5 -XX:TargetSurvivorRatio=30 -XX:PermSize=1G -XX:MaxPermSize=2G -Xincgc -XX:+CMSIncrementalMode -XX:+CMSIncrementalPacing -XX:+CMSParallelRemarkEnabled -XX:+UseParNewGC -XX:+UseTLAB -XX:+CMSPermGenSweepingEnabled -XX:+CMSClassUnloadingEnabled -Dsun.jnu.encoding=ISO-8859-15

Según la configuración dada en el ejemplo anterior, le asignamos una memoria máxima de 6GB (-Xmx6G).

Monitorización remota

Si se van a utilizar herramientas remotas para la monitorización del servidor con herramientas del tipo Probe o Visual VM, habilitaremos protocolo y puerto jmx con los siguientes parámetros adicionales:

-Dcom.sun.management.jmxremote
-Dcom.sun.management.jmxremote.port=7010
-Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.management.jmxremote.authenticate=false