As threads HTTP são cruciais para o gerenciamento de conexões simultâneas e atendimento de requisições via HTTP, como páginas estáticas, dinâmicas, arquivos, imagens, entre outros. É fundamental entender que uma thread HTTP não está necessariamente ligada a uma thread AdvPL.
Funcionamento das Threads HTTP
Quando um navegador solicita um arquivo HTML ou uma imagem, ele estabelece uma conexão HTTP com o Application Server para receber o dado solicitado. Após receber a informação, o navegador fecha essa conexão, liberando a thread HTTP para atender outras requisições, seja do mesmo navegador ou de outro.
Configuração das Threads
A configuração das threads HTTP é feita por meio de uma chave composta por quatro valores: mínimo, máximo, mínimo livre e incremento.
- Mínimo: Quantidade inicial de threads disponíveis.
- Máximo: Quantidade máxima de threads que podem ser disponibilizadas.
- Mínimo Livre: Quantidade mínima de threads livres.
- Incremento: Quantidade de novas threads disponibilizadas quando o número de threads
- livres cai abaixo do valor definido.
Exemplo de Configuração Threads
A configuração de threads pode ser ilustrada com o seguinte exemplo:
[localhost/ws]
enable=1
path=c:\data\web\ws
environment=environment
instances=5,20,3,5
defaultpage=wsindex.apw
Neste exemplo:
O sistema inicia com 5 threads disponíveis.
O número máximo de threads é 20.
Quando o número de threads livres cai para menos de 3, o sistema adiciona mais 5 threads.
Se o número de threads em uso atingir 18, o sistema adiciona apenas 2 novas threads, respeitando o limite máximo de 20 threads.
Opções adicionais:
Dependendo do serviço a ser utilizado, ainda na mesma seção [HTTPENV] também recomenda-se avaliar as duas TAGS abaixo:
EnableKeepAlive=0 -> A função desta TAG é indicar que a conexão será encerrada depois da resposta à requisição.
Stateless=1 -> Com essa TAG só haverá consumo de licença quando a thread estiver em uso.
Abaixo segue os links das documentações de referência das TAG’s mencionadas:
EnableKeepAlive: https://tdn.totvs.com/pages/releaseview.action?pageId=567770418
STATLESS: https://tdn.totvs.com/pages/viewpage.action?pageId=527852596