Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

...

01. Configurações do AppServer

Informações gerais Recomendações para o Appserver

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 a dado ocorre via Appserver.Cada empresa configurada no ambiente, 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 já deve ter especificado em sua carga,  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 ter configurado configurar o propath 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 de alias e os demais parâmetros de sessão.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:

Informações
iconfalse

-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:

Informações
iconfalse

-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 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 Alias necessários para o ambiente. O processo de implantação do Datasul for THF gera um programa de alias Alias para o Appserver, com base nas configurações atuais do produto.

Recomenda-se que a sessão do Appserver tenha os seguintes parâmetros:

-cpstream ibm850
-d dmy
-numsep 46
-numdec 44

Além desses parâmetros, configurações de limitação e desempenho devem ser configuradas conforme demanda do cliente.


8. 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:

netbios.pngImage AddedO modo de operação do broker deve ser state-reset.


Definição de um usuário de rede para o AdminService

...

4. Faça um backup do arquivo conf\server.xml. Edite o arquivo e localize a tag Host, localizada ao final do arquivo. Nesta tag, inclua a propriedade startStopThreads="3", conforme exemplo abaixo:

Informaçõescode
iconfalse
<Host appBase="webapps" autoDeploy="true" name="localhost" unpackWARs="true" startStopThreads="3">

Este parâmetro define a quantidade de Threads que serão utilizadas no processo de carga do Tomcat. Defina-o de acordo com a quantidade de processadores disponíveis em seu servidor. Quanto maior a quantidade de Threads, mais rápido deve ser o startup da instância.



5. Certifique-se de que as alterações foram salvas e reinicie o Tomcat.

...

  • Adicionar o arquivo totvs-valve-1.0.jar no diretório "lib", relacionada à instância do Apache Tomcat.
IMPORTANTE
Informações
title

IMPORTANTE!

A tag "Valve" deve estar configurada como o último elemento da tag "Host". Caso exista algum "Header" da request diferente dos informados anteriormente (allowHeaders), estes devem ser incluídos nessa tag.

...