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 sincronizar los datos de las operación. Para mejorar el rendimiento de los agentes privados, siga las guías de esta página. (Si tiene problemas de rendimiento importantes, comuníquese con soporte de Jitterbit.)
Ajuste del rendimiento de los agentes privados
En esta sección se ofrece 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 11.22 o posteriores del agente privado 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 configuración, 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 |
Módulo de multiprocesamiento Apache | httpd-mpm.conf | JITTERBIT_HOME\Apache\conf\extra\ | JITTERBIT_HOME/apache/conf/extra/ |
Servicio de limpieza de archivos | CleanupRules.xml | JITTERBIT_HOME | JITTERBIT_HOME |
Máquina virtual 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
Aplique todas las partes de este conjunto de configuración, no solo algunas de ellas. Después de realizar el conjunto completo de cambios, reinicie el agente privado.
Configuración del servidor Tomcat
Editar jitterbit-agent-config.properties
y establezca los siguientes valores:
1 2 |
|
- Línea 1: recomendada para hosts de Microsoft Azure para evitar la finalización prematura de la conexión WebSocket.
- Línea 2: Aumentar el número máximo de solicitudes.
Asignación de memoria de la máquina virtual Java
Aumente los valores del agente privado Asignación de memoria inicial y máxima de la máquina virtual Java (Parámetros de Java -Xms
y -Xmx
) al mismo valor según la siguiente fórmula:
\((Total\Disponible\Host\Memoria\- 4)\times 0,75\)
Configuración de agente privado
Editar jitterbit.conf
y configure los siguientes valores en cada sección:
-
Habilite el agrupamiento interno:
[DbInfo] UseInternalPooling = true
-
Aumentar los subprocesos de trabajo:
[ProcessEngine] MaxNumberOfWorkerThreads = X
donde \(X = 4 \times\) (número de vCPU o núcleos).
Nota
Un valor de
auto
El valor predeterminado es 2 veces la cantidad de vCPU/núcleos. -
Cambie los valores de lo siguiente:
MaxOperationStackDepth
: Número máximo de operaciones sincrónicas que se pueden poner en cola para su ejecución (valor predeterminado)50
).MaxAsyncOperationChainLength
: Número máximo de operaciones asincrónicas secundarias que se pueden generar (valor predeterminado)50
).
[OperationEngine] MaxOperationStackDepth = 200 MaxAsyncOperationChainLength = 200
-
Habilite el registro:
[APIOperation] EnableLogging = true
-
Cambie el intervalo de limpieza de archivos:
[FileCleanup] FrequencyInHours = 6.0
-
Aumente el número máximo de conexiones HTTP en el grupo y el número máximo de conexiones por enrutar:
[HttpConnectionPoolLocal] MaxConnections = 200 MaxConnectionsPerRoute = 200
-
Agregue la siguiente sección y los siguientes valores. Esto evita una gran acumulación de registros de sincronización de registros y mejora la eficiencia del remitente de registros:
[LogSync] MaxRecordsToSync = 2000 MinRecordsToSync = 2000
Configuración del módulo de multiprocesamiento Apache
Establezca los siguientes valores en el <IfModule mpm_event_module>
Sección de la httpd-mpm.conf
archivo:
<IfModule mpm_event_module>
ServerLimit 8
StartServers 8
MinSpareThreads 128
MaxSpareThreads 128
ThreadsPerChild 16
ThreadLimit 64
MaxRequestWorkers 128
MaxConnectionsPerChild 1000
</IfModule>
Reglas de limpieza
Revisar y editar las reglas del servicio de limpieza de archivos.
Ajuste del rendimiento de sincronización del ambiente
Cuando se desplegar an Integration Studio o un proyecto de Design Studio, el ambiente del proyecto se bloquea mientras se sincronizan los datos entre los servidores en la nube de Harmony y todos los agentes privados del grupo de agentes. Mientras un ambiente está bloqueado, no se procesan operaciones. Para evitar que este comportamiento afecte la ejecución de sus proyectos, aplique los siguientes consejos:
-
Reducir el tamaño de los proyectos:
Los proyectos grandes tardan más en desplegar y sincronizarse. Para reducir el tamaño de los proyectos, haga lo siguiente:
-
Minimizar el número de operaciones.
-
En las transformaciones, utiliza sólo los campos que necesitas.
-
Eliminar componentes no utilizados.
-
-
Reducir el número de proyectos por ambiente:
Durante la sincronización del ambiente, todo el ambiente se bloquea. Para reducir el efecto de esto, haga lo siguiente:
-
Utilice más ambientes y distribuya su cartera de proyectos de manera uniforme entre ellos.
-
Mantenga los proyectos de alta disponibilidad (HA) y los proyectos que no son de alta disponibilidad en ambientes separados.
-
-
Desplegar durante tiempos de baja carga:
Para reducir el impacto de los tiempos de sincronización en los sistemas de producción, programe las implementaciones de su proyecto para que se ejecuten durante horas de menor actividad.
-
Tiempos de sincronización del monitor:
Para monitorear los tiempos de sincronización del ambiente, escanee el
JITTERBIT_HOME/log/jitterbit-agent.log
Para el textoenvironment-deploy
:Example log entry2024-07-30 15:54:24 environment-deploy-sync-thread-thread-1 INFO org.jitterbit.integration.server.messaging.agent.deploysync.SynchronizeAgent:620 - Agent synchronization for environment 227680 and agent group ID 171230 completed at 18:54:24,667 duration in MS: 4388 Rows updated: 1 by thread: 33 name environment-deploy-sync-thread-thread-1
En el ejemplo anterior, la información de registro es la siguiente:
Descripción Ejemplo Identificación del ambiente 227680
ID del grupo de Agente 171230
Duración de la sincronización en milisegundos 4388
Número de TranDb
filas actualizadas1