Tempo aproximado para leitura: 00:07:10 min
Dúvida
Quais as configurações necessárias no Broker Appserver para o Datasul for THF?
Ambiente
Framework - Framework (Linha Datasul) - Appserver - Todas as versões
Solução
O Datasul for THF não demanda mais conexões JDBC aos bancos de dados, como ocorria na versão anterior do Framework. Todo o acesso aos dados proveniente das telas Web são obtidos utilizando um Appserver Progress. Esta alteração aumenta de forma considerável a quantidade de requisições realizadas ao Appserver. Por este motivo, é necessário o correto dimensionamento e configuração dos Appserver utilizados pelo Datasul for THF - TOTVS HTML Framework para que não ocorram problemas relacionados a performance. Listaremos abaixo as recomendações para a configuração do Appserver para o Datasul for THF:
1. Cada empresa que contém um conjunto de bancos diferentes, precisa de um broker Appserver diferente. Esse broker deve especificar um arquivo .pf com os bancos necessários para conexão à empresa que ele responde. Como o broker é configurado por empresa, os bancos de dados conectados no arquivo .pf permanecerão conectados durante todo o tempo, não utilizando mais o cadastro do programa btb962aa, o qual servirá apenas como referência para as sessões Progress Client. Se o broker Appserver for configurado no mesmo servidor onde estão os bancos de dados recomenda-se o acesso via shared memory. Neste tipo de acesso não são feitas solicitações de rede entre o processo do broker Appserver e o banco de dados, reduzindo de forma considerável o tempo das consultas realizadas ao banco de dados.
2. Além dos bancos de dados, deve-se também configurar o Propath para acesso aos diretórios de programas do produto. É desejável que os programas estejam localizados no mesmo servidor onde encontra-se o broker Appserver, para que as solicitações da abertura dos programas não trafeguem pela rede, sendo que nesta situação o Propath deverá apontar para os diretórios locais. Caso não seja possível que os programas estejam no mesmo servidor, garanta que eles estejam acessíveis da melhor forma possível, através do acesso de uma rede com boa velocidade. Também recomendamos a utilização do parâmetro -q - Quick Request Startup Parameter, o qual permite ao Progress armazenar em cache local a primeira versão executada de um determinado programa durante a sessão. Mais informações sobre este parâmetro estão disponíveis ao final deste artigo.
3. Como a utilização do Appserver é maior no Datasul for THF, será necessário dimensionar corretamente a quantidade de agentes para obter uma boa performance. Provavelmente existirá a necessidade de disponibilizar mais agentes do que a quantidade utilizada atualmente pelo produto.
Para auxiliar neste dimensionamento utilize as informações do artigo referenciado ao final deste.
4. A configuração de alguns parâmetros de sessão adicionais poderá auxiliar em ganho de performance. Listaremos abaixo alguns parâmetros com valores iniciais, baseados em testes e configuração de ambientes de alguns clientes. Vale lembrar que não existem valores mágicos para estes parâmetros, sendo que deverão ser ajustados de acordo com cada ambiente:
-l 50000
-mmax 50000
-s 20000
-Bt 32000
-tmpbsize 8
Onde:
-l: Define o tamanho do buffer local de registros para cada agente Appserver. Este valor é definido em KB.
-mmax: Tamanho do buffer local para os programas Progress. Cada programa Progress será armazenado em buffer local até atingir o tamanho definido neste parâmetro. Após atingir o tamanho limite do parâmetro, os arquivos passarão a ser gravados em disco, gerando swap. Este valor é definido em KB.
-s: O parâmetro Stack Size Area define a área de memória interna utilizada pelos programas Progress. Este valor é definido em KB.
-Bt: Define a quantidade de blocos em memória que serão utilizados para a alocação de tabelas temporárias. A quantidade total de memória utilizada para tabelas temporárias será o produto da multiplicação do parâmetro -Bt com o parâmetro -tmpbsize.
-tmpbsize: Tamanho do bloco de memória utilizado para a alocação de tabelas temporárias. Este valor é definido em KB.
5. Recomenda-se que a sessão do Appserver contenha os seguintes parâmetros, configurados também no arquivo .pf:
-cpstream ibm850
-d dmy
-numsep 46
-numdec 44
6. O modo de operação do Broker deverá ser State-Reset. Não recomendamos a utilização de modos de operação diferentes deste, sob risco de instabilidade na utilização do produto.
7. O programa de Alias deve ser configurado como um Server Startup Procedure. O programa deve ter um parâmetro de entrada do tipo character e a criação dos Alias necessários para o ambiente. O processo de implantação do Datasul for THF gera um programa de Alias para o Appserver, com base nas configurações atuais do produto.
Alguns problemas de performance podem ocorrer quando o protocolo netbios está habilitado para o broker Appserver. Por isso, recomendamos desabilitá-lo, incluindo o parâmetro brkrNetbiosEnable=0 no arquivo ubroker.properties ou através da opção abaixo, nas configurações do broker na tela do Openedge Explorer:
Para o correto funcionamento do produto, os broker Appserver de todas as empresas do ambiente deverão estar ativos antes de iniciar o serviço do Tomcat. Ao final deste artigo você encontrará também informações sobre como realizar a configuração do Appserver no Tomcat.
Saiba mais
Informações adicionais para a configuração do Appserver Progress para o Datasul for THF nos artigos:
Framework - Linha Datasul - TEC - Parâmetro sessão cliente -q - Quick Request Startup Parameter
Framework - Linha Datasul - TEC - Como dimensionar a quantidade de agentes Appserver
Framework - Linha Datasul - TEC - Configuração do Appserver Progress no Tomcat
What is the -l (local buffer size) parameter?
What is the -mmax parameter?
An explanation of the causes of Progress Application Errors that suggest "Increase the -s parameter"
0 Comentários