Ajuste de desempenho em agentes privados Jitterbit
Introdução
Esta página 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.
Importante
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 obter informações adicionais sobre solução de problemas em agentes privados em execução na plataforma Microsoft Azure, consulte Erros de conexão, WebSocket e E/S em VMs do Azure)
Para usar este conjunto de configurações, configure os componentes do agente privado usando os detalhes na tabela a seguir:
Componente | Arquivo de configuração | Localização (Windows) | Localização ( Docker/ Linux) |
---|---|---|---|
Tomcat server | jitterbit-agent-config.properties | JITTERBIT_HOME\Resources\ | JITTERBIT_HOME/Resources/ |
Private agent | jitterbit.conf | JITTERBIT_HOME | JITTERBIT_HOME |
Apache multi-processing module | httpd-mpm.conf | JITTERBIT_HOME\Apache\conf\extra\ | JITTERBIT_HOME/apache/conf/extra/ |
File cleanup service | CleanupRules.xml | JITTERBIT_HOME | JITTERBIT_HOME |
Java virtual machine | 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 Microsoft Azure para evitar interrupções prematuras WebSocket connection termination.
- Linha 2: Aumentar o número máximo de requisiçõ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
-
Ativar registro:
[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 o file cleanup service rules.