Histórico da Página
Checklist de configurações a serem realizadas nos ambientes Datasul para mitigar problemas como:
- Performance
- Queda de serviços
- Sobrecarga de servidores
- Mau funcionamento em geral
Datasul
O que | Como | Por que |
---|---|---|
Desativar logs na prog_dtsul | Em um editor Progress conectado aos bancos de dados: Para consultar: output to c:\temp\log_gera_log_exec.txt. Para desativar: FOR EACH prog_dtsul exclusive-lock: | Quando ativado, este flag dispara a geração de logs extensos, que podem comprometer o desempenho geral do backend. Recomenda-se manter desativado. Somente ativar casos de exceção, mediante alinhamento com a consultoria. |
Atualizar para Task Manager (novo RPW) | ||
Configurar utp/ut-session-clear.r nos eventos do Appsever | ||
Garantir que seja state-reset | ||
Se o cliente possui aplicações próprias que consomem o Datasul via REST, usar BROKER ESCALÁVEL | ||
Garantir que a variável de ambiente JAVA_HOME esteja corretamente setada no servidor onde é executado o Appserver/PASOE | Windows Definir junto às variáveis de ambiente do sistema. Ex: JAVA_HOME=c:\Java\jdk-11.0.11 Linux No Linux cada distro pode possuir particularidades, mas de modo geral as variáveis de ambiente são definidas no arquivo /etc/environment. Ex: JAVA_HOME="/usr/lib/jvm/java-11-openjdk-11.0.14.0.9-1.el7_9.x86_64" | O backend do Datasul possui alguns processos que realizam chamada direta a programas em Java (ex: utils/TotvsCompactador.jar, entre outros). As chamadas dependem desta variável de ambiente para executarem corretamente. |
Configurações no .pf, conforme doc do suporte (Zelindo) | ||
Parâmetro -q no script.pf | A presença do parâmetro -q no seu script.pf de conexão as bancos de dados irá aprimorar a performance. Isso reduzirá no I-O a cada vez que um binário Progress é chamado, pois ele é salvo na memória RAM e reutilizado, sem ser buscado novamente do disco em chamadas posteriores. ATENÇÃO Ao utilizar esse recurso, tenha ciência que, caso precise atualizar um binário (.r Progress), o ambiente precisará ser reiniciado (Appserver, RPW, Sessão Progress) para que a nova versão seja considerada. Recomenda-se seu uso em ambientes de Produção | |
Logs do Appserver | Muitas vezes o log do Appserver está muito grande (Gigabites), causando alto consumo de I-O, e deteriorando a performance. Recomenda-se limitar o tamanho máximo de um log de Appserver em 15MB. https://knowledgebase.progress.com/articles/Article/000051593 Essa mesma técnica pode ser aplicada para o clientlog de sessões Progress e RPW. Atenção também para não apontar a geração do arquivo para caminhos de rede, o que pode comprometer o desempenho. | |
Timeout da sessão | ||
Conf do Tomcat (xml) | ||
Avaliar as triggers customizadas | Para consultar as triggers do GPS: output to c:\temp\dztriggers.txt. Para consultar as triggers do ERP: output to c:\temp\tab_dic_dtsul.txt. | É importante validar se existem triggers customizadas em tabelas de alto volume de utilização, pois podem comprometer o desempenho geral do sistema. |
Datasul com banco de dados Oracle (Schema Holder)
O que | Como | Por que |
---|---|---|
Checar open_cursors | Executar em uma sessão conectada ao banco de dados Oracle, com privilégios de administrador:
Se o resultado for inferior a: open_cursors: 30000 Então os referidos parâmetros devem ser ajustados para esses valores, com os seguintes comandos: alter system set open_cursors=30000 scope=both sid='*'; Obs: o listener do Oracle deve ser reiniciado para que as alterações tenham efeito.
| Cada conexão a um banco de dados no Oracle consome uma sessão, que fica aberta durante todo o escopo do programa. Isto se aplica tanto para usuários que abrem tela GUI (tela Progress) como Agentes de Appserver. Exemplos:
Portanto, o número sugerido neste parâmetro é uma configuração que se aplica à grande maioria dos casos, mas deve ser bem dimensionado com clientes com muitos usuários e agentes de Appserver. |
Checar o -c no .pf | No arquivo.pf de conexão aos bancos de dados, conferir o valor do parâmetro -c, que não deve ser inferior a: -c 10000
-db \\cxs-gcad-rep01\schemaholder\shemsfnd -ld shemsfnd -RO -db emsfnd -ld emsfnd -U susemsfnd/susemsfnd@squad -c 10000 Atenção para refletir os ajustes de .pf também na tabela EMSFND.BCO_EMPRES |
Autorizador Web e Foundation Saúde
O que | Como | Por que |
---|---|---|
Pool Appserver x Jboss | Checar se as parametrizações do pool de agentes do Appserver estão compatíveis com as configurações do Jboss.
Checar nas propriedades do Broker qual é o Operating Mode que está configurado. O recomendado é State-reset: Checar nas propriedades do Agent o valor do campo Maximum servers: progress.server.mode=2 2 equivale a State-reset (conforme recomendado acima para o Appserver). Se o Appserver for Stateless, então trocar para 1.
o número aqui deve ser igual ao Maximum servers do Appserver (conforme visto acima). Obs: Tanto Appserver como Jboss devem ser reiniciados, caso alguns dos parâmetros for alterado. Referência: Documentação "datasul_framework.properties" |
Geral
O que | Como | Por que |
---|---|---|
Checar quantidade de processadores | Verificar o número de processadores virtuais da máquina. Se for Windows, pode ser verificado pelo Task Manager:
Como efeito, 2 a 3 agentes acabam consumindo 100% de CPU, causando enfileiramento das atividades, e lentidão na percepção do usuário.
|