Tempo aproximado para leitura: 00:08:00 min
Dúvida
Configurações no servidor de aplicações Wildfly para melhoria no desempenho do Agro Multicultivo após Modernização.
Ambiente
TOTVS Agro - TOTVS Agro - Multicultivo - Administração do Sistema - ADM - Versão 12.1.2312 ou superior
Solução
Seguem passos das configurações para melhoria de performance:
1. Revisão de configurações de JVM - via "standalone.conf" ou "standalone.conf.bat" (...Multicultivo\Modernizado\wildfly\bin):
Nessa configuração, o usuário deverá verificar a quantidade de memória RAM disponível da máquina para revisão da memória dedicada para aplicação.
No parâmetro -Xms o usuário irá determinar a quantidade mínima de memória RAM que o Sistema irá consumir e o parâmetro -Xmx será o máximo de memória RAM.
set "JBOSS_JAVA_SIZING=-Xms6g -Xmx12g -XX:+UseG1GC -XX:MaxGCPauseMillis=200 -XX:InitiatingHeapOccupancyPercent=35"
2. Aumentar a quantidade de threads, na seção worker do arquivo standalone-full-ha.xml (...Multicultivo\Modernizado\wildfly\prod\configuration):
Explicação sobre os atributos:
io-threads - Número de threads de entrada/saída. O valor assumido por default para esse parâmetro é número de núcleos (core) de CPU multiplicado por 2. Na sugestão acima, o valor 64 é resultado da expressão 8 (cpu core) * 2 (default) * 4 (ajuste proposto).
task-max-threads - Número máximo de threads no pool de tarefas desse worker. Para aplicações com alta concorrência, um valor entre 400 e 500 geralmente é suficiente.
task-keepalive - O quanto em milissegundos as threads ociosas deverão ser mantidas ativas. Valores baixos (de 1000 para baixo) pode ajudar a reduzir o uso de memória em períodos de baixa demanda.
Nesse caso, a configuração ficaria com 64 threads.
As “task-max-threads” podem ser aumentadas inicialmente de 80 para 416. E a “task-keepalive” pode ser aumentada para 1000.
Ficando então:
<worker name="default" io-threads="64" task-max-threads="416" task-keepalive="1000"/>
No Admin Console eles podem ser alterados através da tela:
Para mais explicações sobre essa configuração acesse o link:
Modernização TOTVS Agro Multicultivo
3. Aumentar da quantidade máxima de pools de conexão no arquivo standalone-full-ha.xml na seção datasource tanto para PIMSmulticulturaDS, quando para PIMSMulticulturaBRGDS;
Como recomendação, pode ser aumentado inicialmente para 400:
<max-pool-size>400</max-pool-size>
Para:
No Admin Console:
Clicar em VIEW:
4. Inserir o tempo de conexão para listener na seção http-listener e https-listener no arquivo standalone-full-ha.xml.
Caso não tenha a configuração, inserir as informações abaixo na linha correspondente, conforme mostra na imagem abaixo.
write-timeout="3000000" request-parse-timeout="3000000" read-timeout="3000000"
Pode-se optar também por realizar essa alteração diretamente no Admin Console:
5. Altere o Max Post Size. No arquivo standalone-full-ha.xml a alteração deve ser realizada em “max-size-bytes” alterar o valor para 104857600.
Segue abaixo linha de referência para a alteração:
Via Admin Console:
6. Realize a revisão de threads (subsistema de EJB - aumentar de 10 para 50)
subsystem xmlns="urn:jboss:domain:ejb3:10.0"> ...
<thread-pools>
<thread-pool name="default">
<max-threads count="50"/>
<keepalive-time time="60" unit="seconds"/>
</thread-pool>
</thread-pools>
7. Realize a revisão de batch processing (subsistema jberet - aumentar de 10 para 50)
<subsystem xmlns="urn:jboss:domain:batch-jberet:3.0"> ...
<thread-pool name="batch">
<max-threads count="50"/>
<keepalive-time time="30" unit="seconds"/>
</thread-pool>
</subsystem>
Observações:
Caso opte pelas alterações via arquivos, o serviço deve ser parado antes de realizar as alterações e após salvamento dos arquivos, o serviço deve ser reiniciado.
Para as alterações via Admin Console não é necessário realizar a reinicialização do serviço.
As alterações via Admin Console, são gravadas no arquivo standalone-full-ha.
0 Comentários