Otimize e melhore o desempenho dos agentes privados Jitterbit
Introdução
À medida que os projetos se tornam maiores e mais complexos, os agentes privados podem levar mais tempo para executar operações e sincronizar dados de operação. Para melhorar o desempenho do agente privado, siga os guias nesta página. (Para problemas significativos de desempenho, entre em contato com suporte Jitterbit.)
Ajuste de desempenho do agente privado
Esta seção fornece um conjunto de configurações recomendadas para melhorar o desempenho de agentes privados que enfrentam cargas de trabalho maiores do que a média.
Nota
O conjunto é baseado nos resultados dos testes internos da Jitterbit e se aplica às versões 11.22 ou posteriores do agente privado em execução com um servidor de banco de dados PostgreSQL 14 em uma instância com pelo menos 16 GB de RAM.
Para usar este conjunto de configurações, configure os componentes do seu agente privado de acordo com a tabela a seguir:
Componente | Arquivo de configuração | Localização (Windows) | Localização (Docker/ Linux) |
---|---|---|---|
Servidor Tomcat | jitterbit-agent-config.properties | JITTERBIT_HOME\Resources\ | JITTERBIT_HOME/Resources/ |
Agente particular | jitterbit.conf | JITTERBIT_HOME | JITTERBIT_HOME |
Módulo de multiprocessamento Apache | httpd-mpm.conf | JITTERBIT_HOME\Apache\conf\extra\ | JITTERBIT_HOME/apache/conf/extra/ |
Serviço de limpeza de arquivos | CleanupRules.xml | JITTERBIT_HOME | JITTERBIT_HOME |
Máquina virtual Java | Painel de controle Java | /etc/sysconfig/jitterbit |
JITTERBIT_HOME
é o diretório de instalação, por padrão C:\Program Files\Jitterbit Agent\
no Microsoft Windows, /opt/jitterbit/
no Docker e Linux.
Importante
Aplique todas as partes deste conjunto de configuração, não algumas delas. Após fazer o conjunto completo de alterações, reinicie o agente privado.
Configuração do servidor Tomcat
Editar jitterbit-agent-config.properties
e defina os seguintes valores:
1 2 |
|
- Linha 1: Recomendado para hosts do Microsoft Azure para evitar o encerramento prematuro da conexão WebSocket.
- Linha 2: Aumentar o número máximo de solicitações.
Alocação de memória da máquina virtual Java
Aumente os valores para o agente privado Alocação de memória inicial e máxima da Java VM (Parâmetros Java -Xms
e -Xmx
) para o mesmo valor de acordo com a seguinte fórmula:
\((Total\ Disponível\ Host\ Memória - 4) \vezes 0,75\)
Configuração do agente privado
Editar jitterbit.conf
e defina os seguintes valores em cada seção:
-
Habilitar pooling interno:
[DbInfo] UseInternalPooling = true
-
Aumentar threads de trabalho:
[ProcessEngine] MaxNumberOfWorkerThreads = X
onde \(X = 4 \times\) (número de vCPUs ou núcleos).
Nota
Um valor de
auto
padrão para \(2 \vezes\) o número de vCPUs/núcleos. -
Altere os valores para o seguinte:
MaxOperationStackDepth
: Número máximo de operações síncronas que podem ser enfileiradas para execução (valor padrão50
).MaxAsyncOperationChainLength
: Número máximo de operações assíncronas filho que podem ser geradas (valor padrão50
).
[OperationEngine] MaxOperationStackDepth = 200 MaxAsyncOperationChainLength = 200
-
Habilite o registro em log:
[APIOperation] EnableLogging = true
-
Altere o intervalo de limpeza do arquivo:
[FileCleanup] FrequencyInHours = 6.0
-
Aumente o número máximo de conexões HTTP no pool e o número máximo de conexões por rotear:
[HttpConnectionPoolLocal] MaxConnections = 200 MaxConnectionsPerRoute = 200
-
Adicione a seguinte seção e valores. Isso evita um grande backlog de registro de sincronização de log e melhora a eficiência do remetente de log:
[LogSync] MaxRecordsToSync = 2000 MinRecordsToSync = 2000
Configuração do módulo de multiprocessamento Apache
Defina os seguintes valores em <IfModule mpm_event_module>
seção do httpd-mpm.conf
arquivo:
<IfModule mpm_event_module>
ServerLimit 8
StartServers 8
MinSpareThreads 128
MaxSpareThreads 128
ThreadsPerChild 16
ThreadLimit 64
MaxRequestWorkers 128
MaxConnectionsPerChild 1000
</IfModule>
Regras de limpeza
Revise e edite as regras do serviço de limpeza de arquivos.
Ajuste de desempenho de sincronização de ambiente
Quando você implantar an Integration Studio ou projeto do Design Studio, o ambiente do projeto é bloqueado enquanto os dados são sincronizados entre os servidores de nuvem Harmony e todos os agentes privados no grupo de agentes. Enquanto um ambiente é bloqueado, nenhuma operação é processada. Para evitar que esse comportamento afete a execução dos seus projetos, aplique as seguintes dicas:
-
Reduza o tamanho dos projetos:
Projetos grandes levam mais tempo para implantar e sincronizados. Para reduzir o tamanho dos projetos, faça o seguinte:
-
Minimize o número de operações.
-
Nas transformações, utilize apenas os campos necessários.
-
Exclua componentes não utilizados.
-
-
Reduza o número de projetos por ambiente:
Durante a sincronização do ambiente, todo o ambiente é bloqueado. Para reduzir o efeito disso, faça o seguinte:
-
Use mais ambientes e distribua seu portfólio de projetos uniformemente entre eles.
-
Mantenha projetos de alta disponibilidade (HA) e projetos sem HA em ambientes separados.
-
-
Implantar durante períodos de baixa carga:
Para reduzir o impacto dos tempos de sincronização nos sistemas de produção, programe as implantações do seu projeto para serem executadas em horários de menor movimento.
-
Monitorar tempos de sincronização:
Para monitorar os tempos de sincronização do ambiente, escaneie o
JITTERBIT_HOME/log/jitterbit-agent.log
para o 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
No exemplo acima, as informações de log são as seguintes:
Descrição Exemplo ID do ambiente 227680
ID do grupo do Agente 171230
Duração da sincronização em milissegundos 4388
Número de TranDb
linhas atualizadas1