Histórico da Página
...
Produto: | Microsiga Protheus® | |||||||||||||||||||||
Versões: | SIGAFAT - Faturamento (P11.80 e P12) | |||||||||||||||||||||
Ocorrência: | Baixa performance na rotina de contabilização off-line do documento de saída (CTBANFS) | |||||||||||||||||||||
Conhecimento: | MÉTODO 1 → Contabilização Off-Line utilizando Múltiplas Threads para acelerar o processamento (MV_CNFSTHR) SEM utilizar o parâmetro MV_CNFSTHR Neste exemplo e 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 utilização do parâmetro MV_CNFSTHR Neste exemplo e 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 e 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.
MÉTODO 2 → Contabilização Off-Line utilizando o parâmetro (MV_OPTNFS) Esta parametrização 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). Em testes em clientes verificamos um ganho de aproximadamente 30% no processamento da rotina. Importante: Com a mudança do parâmetro e necessária uma revisão geral das LP's Passo-a-passo A. Alterar o parâmetro MV_OPTNFS para o conteúdo igual a .T. (Verdadeiro)
B. 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
Exemplo da troca do alias das tabelas: No exemplo vou utilizar o principal lançamento padrão da rotina CTBANFS (610) No modo PADRÃO (MV_OPTNFS = .F.) quando incluímos as LP's informamos nos campos macro-executados o apelido das tabelas utilizadas, no exemplo abaixo "SD2->" No modo PERFORMÁTICO (MV_OPTNFS = .T.) devemos obrigatoriamente ajustar as LP's alterando os campos macro-executados para o novo apelido "CTBANFS"
MÉTODO 3 →Contabilização por Período / Documento / Dia, qual o mais performático?
MÉTODO 4 →Revisão nas sequencias de contabilização Um fator que diminui a performance da rotina CTBANFS e a alta quantidade de "Sequencias (CT5_SEQUEN)" para um mesmo lançamento padrão, por isso recomendamos que a quantidade não ultrapasse 10 sequencias.
| ||||||||||||||||||||
Pode lhe interessar: |
|