Tempo aproximado para leitura: 00:01:30 min
Dúvida
Configuração para cálculo de Folha de Pagamento com grande volume de funcionários que apresenta lentidão.
Ambiente
TOTVS RH - TOTVS RH (Linha Protheus) - Gestão de Pessoal - Todas as versões
Solução
Existem algumas tecnologias disponíveis para processamentos de grandes volumes em sistemas, e na folha de pagamento do Protheus utilizamos duas diferentes tecnologias:
-
Multi-thread
- Tem como característica a distribuição de processamentos em diversas threads no mesmo servidor de aplicação. -
GRID
- Além da distribuição de processamento em diversas threads no servidor de aplicação, esta tecnologia possibilita a distribuição em diversos servidores de aplicação e inclusive servidores físicos
A seguir o detalhamento para ganho de performance na solução:
Multi-thread:
Como funciona: O processamento é distribuído em diversas threads (configuração) dentro do mesmo servidor de aplicação.
Como configurar: Preencher o parâmetro MV_CALCTHD via Configurador (SIGACFG) com no mínimo 2 (este parâmetro tem como objetivo definir o número de threads que serão abertos para o processamento).
Importante: No binário 32 Bits a quantidade de threads era limitada a 5, com binário 64 Bits não há limite. O número de threads deverá ser definido através de análise de infraestrutura no qual deverá ser levado em consideração o servidor, número de usuários conectados, entre outras informações que direcionam o melhor aproveitamento desta tecnologia.
Rotinas:
- GPEM020A (Cálculo Unificado)
- GPEM120 (Fechamento Mensal)
Quando usar:
- Ambiente que possuem um volume razoável de funcionários para processamento e com infraestrutura que suporte as conexões de várias threads realizando o processamento
- Analisar o aumento do número de threads que dará melhor performance e melhoria no tempo de cálculo.
Pontos de atenção para implementação:
- O serviço não é dedicado, possuindo as threads da rotina mais as conexões de outros usuários, balanceados via Broker;
- É preciso ter cuidado com a quantidade de threads, para não gerar sobrecarga ao servidor, pois rotinas de cálculo consomem CPU.
- As conexões concorrentes podem ter sua performance afetada.
Indicação:
Recomendamos o uso de multi-thread quando:
GRID
Como funciona: Além da distribuição de processamento em diversas threads no servidor de aplicação, esta tecnologia possibilita a escalabilidade em diversos servidores de aplicação e até mesmo em servidores físicos.
Como configurar: https://tdn.totvs.com/pages/releaseview.action?pageId=267782422
Parâmetros envolvidos: MV_GPEGRID, MV_GRID, MV_MINGRID, MV_REGGRID
Rotinas:
- GPEM020 (Cálculo por Roteiros),
- GPEM690 (Cálculo de Dissídio Retroativo),
- GPEM070 (Cálculo de Provisão).
Quando usar:
Pontos de atenção para implementação:
- É preciso ter cuidado com a quantidade de threads, para não gerar sobrecarga ao servidor, pois rotinas de cálculo consomem CPU.
- Necessário avaliar a quantidade de threads que precisam estar disponíveis, versus a quantidade de funcionários que executam a rotina, cálculos e hardware disponível.
Indicação:
Recomendamos o uso de GRID quando:
- o hardware físico possui alta performance;
- Nesse caso pode ser utilizado GRID, mas deve se ter cuidado para não configurar muitas threads, de forma a afetar a performance;
- Recomendamos que comecem com 10 threads e vão subindo em testes avaliando o consumo de CPU e tempo de cálculo desejado.
- Recomendado para clientes com mais de 500 funcionários.
0 Comentários