Optimizar y mejorar el rendimiento de los agentes privados de Jitterbit
Introducción
A medida que los proyectos se vuelven más grandes y complejos, los agentes privados pueden tardar más en ejecutar operaciones y en sincronizar datos de operaciones. Para mejorar el rendimiento de los agentes privados, siga las guías en esta página. (Para problemas de rendimiento significativos, contacte al soporte de Jitterbit.)
Ajuste del rendimiento del agente privado
Esta sección proporciona un conjunto de configuraciones recomendadas para mejorar el rendimiento de los agentes privados que experimentan cargas de trabajo superiores a la media.
Nota
El conjunto se basa en los resultados de las pruebas internas de Jitterbit y se aplica a las versiones de agentes privados 11.22 o posteriores que se ejecutan con un servidor de base de datos PostgreSQL 14 en una instancia con al menos 16 GB de RAM.
Para utilizar este conjunto de configuraciones, configure los componentes de su agente privado de acuerdo con la siguiente tabla:
Componente | Archivo de configuración | Ubicación (Windows) | Ubicación (Docker/Linux) |
---|---|---|---|
Servidor Tomcat | jitterbit-agent-config.properties | JITTERBIT_HOME\Resources\ | JITTERBIT_HOME/Resources/ |
Agente privado | jitterbit.conf | JITTERBIT_HOME | JITTERBIT_HOME |
Servicio de limpieza de archivos | CleanupRules.xml | JITTERBIT_HOME | JITTERBIT_HOME |
Máquina virtual de Java | Panel de control de Java | /etc/sysconfig/jitterbit |
JITTERBIT_HOME
es el directorio de instalación, por defecto C:\Program Files\Jitterbit Agent\
en Microsoft Windows, /opt/jitterbit/
en Docker y Linux.
Importante
Aplica todas las partes de este conjunto de configuración, no solo algunas de ellas. Después de realizar el conjunto completo de cambios, reinicia el agente privado.
Configuración del servidor Tomcat
Edita jitterbit-agent-config.properties
y establece los siguientes valores:
1 2 |
|
- Línea 1: Recomendado para hosts de Microsoft Azure para evitar la terminación prematura de la conexión WebSocket.
- Línea 2: Aumenta el número máximo de solicitudes.
Asignación de memoria de la máquina virtual Java
Aumenta los valores para la asignación de memoria inicial y máxima de la Java VM del agente privado (parámetros de Java -Xms
y -Xmx
) al mismo valor según la siguiente fórmula:
\((Total\ Available\ Host\ Memory - 4) \times 0.75\)
Configuración del agente privado
Edita jitterbit.conf
y establece los siguientes valores en cada sección:
-
Habilita el agrupamiento interno:
[DbInfo] UseInternalPooling = true
-
Aumenta los hilos de trabajo:
[ProcessEngine] MaxNumberOfWorkerThreads = X
donde \(X = 4 \times\) (número de vCPUs o núcleos).
Nota
Un valor de
auto
predetermina a \(2 \times\) el número de vCPUs/núcleos. -
Cambia los valores para lo siguiente:
MaxOperationStackDepth
: Número máximo de operaciones síncronas que pueden estar en cola para ejecución (valor predeterminado50
).MaxAsyncOperationChainLength
: Número máximo de operaciones asíncronas secundarias que pueden ser generadas (valor predeterminado50
).
[OperationEngine] MaxOperationStackDepth = 200 MaxAsyncOperationChainLength = 200
-
Habilita el registro:
[APIOperation] EnableLogging = true
-
Cambia el intervalo de limpieza de archivos:
[FileCleanup] FrequencyInHours = 6.0
-
Aumenta el número máximo de conexiones HTTP en el grupo y el número máximo de conexiones por ruta:
[HttpConnectionPoolLocal]
MaxConnections = 200
MaxConnectionsPerRoute = 200
Reglas de limpieza
Revisa y edita las reglas del servicio de limpieza de archivos.
Ajuste del rendimiento de sincronización del entorno
Cuando despliegas un proyecto de Integration Studio o Design Studio, el entorno del proyecto se bloquea mientras se sincronizan los datos entre los servidores en la nube de Harmony y todos los agentes privados en el grupo de agentes. Mientras un entorno está bloqueado, no se procesan operaciones. Para evitar que este comportamiento afecte la ejecución de tus proyectos, aplica los siguientes consejos:
-
Reduce el tamaño de los proyectos:
Los proyectos grandes tardan más en desplegarse y sincronizarse. Para reducir el tamaño de los proyectos, haz lo siguiente:
-
Minimiza el número de operaciones.
-
En las transformaciones, utiliza solo los campos que necesitas.
-
Elimina componentes no utilizados.
-
-
Reduce el número de proyectos por entorno:
Durante la sincronización del entorno, todo el entorno está bloqueado. Para reducir el efecto de esto, haz lo siguiente:
-
Utiliza más entornos y distribuye tu portafolio de proyectos de manera uniforme entre ellos.
-
Mantén proyectos de alta disponibilidad (HA) y proyectos no HA en entornos separados.
-
-
Despliega durante horas de baja carga:
Para reducir el impacto de los tiempos de sincronización en los sistemas de producción, programa tus despliegues de proyectos para que se realicen durante horas de menor actividad.
-
Monitorea los tiempos de sincronización:
Para monitorear los tiempos de sincronización del entorno, escanea el
JITTERBIT_HOME/log/jitterbit-agent.log
en busca del textoenvironment-deploy
:Ejemplo de entrada de registro2024-07-30 15:54:24 environment-deploy-sync-thread-thread-1 INFO org.jitterbit.integration.server.messaging.agent.deploysync.SynchronizeAgent:620 - La sincronización del agente para el entorno 227680 y el ID del grupo de agentes 171230 se completó a las 18:54:24,667 duración en MS: 4388 Filas actualizadas: 1 por hilo: 33 nombre environment-deploy-sync-thread-thread-1
En el ejemplo anterior, la información del registro es la siguiente:
Descripción Ejemplo ID del entorno 227680
ID del grupo de agentes 171230
Duración de sincronización en milisegundos 4388
Número de filas de TranDb
actualizadas1