Otimize e melhore o desempenho dos agentes privados do 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ções. Para melhorar o desempenho do agente privado, siga os guias nesta página. (Para problemas de desempenho significativos, entre em contato com o suporte do 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 estão enfrentando cargas de trabalho superiores à média.
Nota
O conjunto é baseado nos resultados dos testes internos do Jitterbit e se aplica a versões do agente privado 11.22 ou posteriores, executando 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 privado | jitterbit.conf | JITTERBIT_HOME | JITTERBIT_HOME |
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ções, não apenas algumas delas. Após fazer o conjunto completo de alterações, reinicie o agente privado.
Configuração do servidor Tomcat
Edite jitterbit-agent-config.properties
e defina os seguintes valores:
1 2 |
|
- Linha 1: Recomendado para hosts Microsoft Azure para evitar a terminação prematura da conexão WebSocket.
- Linha 2: Aumente o número máximo de solicitações.
Alocação de memória da máquina virtual Java
Aumente os valores para a alocação de memória inicial e máxima do agente privado Java VM (parâmetros Java -Xms
e -Xmx
) para o mesmo valor de acordo com a seguinte fórmula:
\((Total\ Available\ Host\ Memory - 4) \times 0.75\)
Configuração do agente privado
Edite jitterbit.conf
e defina os seguintes valores em cada seção:
-
Ative o pooling interno:
[DbInfo] UseInternalPooling = true
-
Aumente o número de threads de trabalho:
[ProcessEngine] MaxNumberOfWorkerThreads = X
onde \(X = 4 \times\) (número de vCPUs ou núcleos).
Nota
Um valor de
auto
padrão é \(2 \times\) o número de vCPUs/núcleos. -
Altere os valores para os seguintes:
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 filhas que podem ser geradas (valor padrão50
).
[OperationEngine] MaxOperationStackDepth = 200 MaxAsyncOperationChainLength = 200
-
Ative o registro:
[APIOperation] EnableLogging = true
-
Altere o intervalo de limpeza de arquivos:
[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 rota:
[HttpConnectionPoolLocal]
MaxConnections = 200
MaxConnectionsPerRoute = 200
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ê implanta um projeto do Integration Studio ou Design Studio, o ambiente do projeto é bloqueado enquanto os dados são sincronizados entre os servidores em nuvem Harmony e todos os agentes privados no grupo de agentes. Enquanto um ambiente está bloqueado, nenhuma operação é processada. Para evitar que esse comportamento afete a execução de seus projetos, aplique as seguintes dicas:
-
Reduza o tamanho dos projetos:
Projetos grandes levam mais tempo para implantar e sincronizar. Para reduzir o tamanho dos projetos, faça o seguinte:
-
Minimize o número de operações.
-
Nas transformações, use apenas os campos que você precisa.
-
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 de forma equilibrada entre eles.
-
Mantenha projetos de alta disponibilidade (HA) e projetos não-HA em ambientes separados.
-
-
Implante durante horários de baixa carga:
Para reduzir o impacto dos tempos de sincronização em sistemas de produção, agende suas implantações de projetos para serem executadas durante horários de menor movimento.
-
Monitore os tempos de sincronização:
Para monitorar os tempos de sincronização do ambiente, verifique o
JITTERBIT_HOME/log/jitterbit-agent.log
em busca do textoenvironment-deploy
:Exemplo de entrada de log2024-07-30 15:54:24 environment-deploy-sync-thread-thread-1 INFO org.jitterbit.integration.server.messaging.agent.deploysync.SynchronizeAgent:620 - Sincronização do agente para o ambiente 227680 e ID do grupo de agentes 171230 concluída às 18:54:24,667 duração em MS: 4388 Linhas atualizadas: 1 pelo thread: 33 nome environment-deploy-sync-thread-thread-1
No exemplo acima, as informações do log são as seguintes:
Descrição Exemplo ID do ambiente 227680
ID do grupo de agentes 171230
Duração da sincronização em milissegundos 4388
Número de linhas TranDb
atualizadas1