Melhorar a performance da Contabilização Offline (CTBANFS)
Produto: | Microsiga Protheus® | ||||||||||||||||||
Ocorrência: | Baixa performance na rotina de contabilização off-line dos documentos de saída (CTBANFS) | ||||||||||||||||||
Ambiente: | Faturamento (SIGAFAT) | ||||||||||||||||||
Passo a passo: | O parâmetro MV_CNFSTHR habilita a contabilização Off-Line utilizando Múltiplas Threads para acelerar o processamento. Abaixo descrevo um comparativo entre o processamento padrão da rotina CTBANFS e o processamento com múltiplas threads. SEM utilizar o parâmetro MV_CNFSTHR Neste exemplo é utilizado um conjunto de 100 notas de saída para processamento da contabilização, veja abaixo que o processo padrão executa nota-a-nota não utilizando de forma exponencial todo percentual de processamento dos servidores:
COM a utilização do parâmetro MV_CNFSTHR Neste exemplo é utilizado um conjunto de 100 notas de saída para processamento da contabilização e ativamos o parâmetro MV_CNFSTHR = 3, veja que o tempo de processamento é reduzido devido a execução em paralelo das notas de saída:
*Thread é um pequeno programa que trabalha como um subsistema independente de um programa maior, executando alguma tarefa específica. Um programa dividido em várias threads é processado mais rapidamente do que um programa monolítico, pois várias tarefas podem ser executadas simultaneamente, compartilhando os recursos do sistema. Importante
O parâmetro MV_OPTNFS muda o comportamento de processamento da rotina CTBANFS, pois na montagem da massa de dados para processamento ao invés de ler registro-a-registro a rotina monta uma query (Select) no banco de dados recuperando todos os registros a serem processados (CURSOR). Importante: Com a mudança do parâmetro é necessária uma revisão geral das LP's. 1. Alterar o parâmetro MV_OPTNFS para o conteúdo igual a .T. (Verdadeiro); 2. Realizar uma revisão das LP's abaixo trocando o alias das tabelas pelo nome do cursos "CTBANFS": Lista de LP's disponíveis na rotina CTBANFS
Observação
Contabilização por Período / Documento / Dia, qual o mais performático? Um fator que diminui a performance da rotina CTBANFS é a alta quantidade de "Sequências" (CT5_SEQUEN) para um mesmo lançamento padrão, por isso recomendamos que a quantidade não ultrapasse 10 sequencias. Importante Ao executar a rotina de processamento "Contabilização Off-Line - CTBANFS" para contabilizar os movimentos Vendas o campo F2_DTLANC SEMPRE será atualizado com sua data de processamento, mesmo que não seja gerado lançamento contábil na tabela CT2. Esse procedimento é utilizado para evitar reprocessamento indevidos de movimentos já avaliados pela rotina. Dúvidas na configuração das Threads do Agent (Configurador), contate a Equipe Framework. | ||||||||||||||||||
Pode lhe interessar: |