Passo a passo: | Deck of Cards |
---|
startHidden | false |
---|
effectDuration | 0.5 |
---|
id | OCORRÊNCIAS |
---|
effectType | horizontal |
---|
loopCards | true |
---|
| Card |
---|
default | true |
---|
id | 0. Instruções para a resolução |
---|
label | MV_CNFSTHR |
---|
| O parâmetro MV_CNFSTHR habilita a contabilização Off-Line utilizando Múltiplas Threads para acelerar o processamento |
|
| (MV_CNFSTHR). 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 |
|
| 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 |
|
| .: Image Modified
COM a 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 |
|
| .: Image Modified *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. |
|
| | Observações | - O numero máximo de threads para o parâmetro MV_CNFSTHR e 30, porem recomendamos testes com valores menores para acompanhar o ganho de performance
|
|
|
| . | Image Removed
- O parâmetro MV_PRELAN deve esta configurado com o conteúdo igual a "D"
|
|
|
| Image Removed | Image Removed |
---|
MÉTODO 2 → Contabilização Off-Line utilizando o parâmetro (MV_OPTNFS)
Esta parametrização Card |
---|
default | true |
---|
id | 060720201 |
---|
label | MV_OPTNFS |
---|
| 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). 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 |
|
| A1. Alterar o parâmetro MV_OPTNFS para o conteúdo igual a .T. (Verdadeiro); |
|
| Image Removed
B2. 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 Lanc. Padrão | Descrição |
---|
610 | Documento de Saída - Inclusão de Documento Itens | 611 | Rateio (Tabela SDE) - Devolução de Compras | 612 | Pedido de Venda - Inclusão de Documento Itens | 613 | Documento de Saída - Inclusão de Documento Rateio Itens | 620 | Documento de Saída - Inclusão de Documento Total | 621 | Pedido de Venda - Inclusão de Documento Total | 631 | Permite a contabilização pela SL4 (Itens de Venda por Forma de Pagamento) | 678 | Documento de Saída - Custo de Mercadoria Vendida |
Exemplo da troca do alias das tabelas:
- No exemplo vou utilizar o principal lançamento padrão da rotina CTBANFS (610)
|
|
| Image Removed- ;
- No modo PADRÃO (MV_OPTNFS = .F.) quando incluímos as LP's informamos nos campos macro-executados o apelido das tabelas utilizadas,
|
|
| no | abaixo | Image Removed
| PERFORMÁTICO Image Removed
Importante: - performático (MV_OPTNFS = .T.) devemos obrigatoriamente ajustar as LP's alterando os campos macro-executados para o novo apelido "CTBANFS"
|
|
| | - Deve-se obrigatoriamente ajustar o apelido de todos os campos macro-executados das abas Valores, Histórico e Outros para as tabelas SC5, SC6, SB1, SA1, SA2, SF2, SD2 e SF4;
|
|
|
| Observação: - Você pode utilizar este mecanismo de performance em conjunto com o
|
|
|
| MÉTODO 1 - parâmetro MV_CNFSTHR (Múltiplas Threads)
|
|
|
| MÉTODO 3 →- ;
- Se os Lançamentos Padrões Offline foram definidos para tratar o apelido “CTBANFS” os mesmos não poderão ser utilizados em um processo de contabilização Online.
|
|
Card |
---|
default | true |
---|
id | 0. Instruções para a resolução |
---|
label | Período contabilizado |
---|
| Contabilização por Período / Documento / Dia, qual o mais performático?
Na parametrização da contabilização off-line da Nota Fiscal de Saída temos três tipos de parametrização “Por Documento”, “Por período” e “Por Dia”. Identificamos que o tipo “Por Documento” e “Por Dia” utilizam muito acesso a disco do CTREE/ADS que pode gerar uma pequena queda na performance. Recomendamos a utilização da opção “Por Período” que possui maior desempenho no processamento de grandes volumes de contabilização. |
|
|
Image Removed Card |
---|
default | true |
---|
id | 0. Instruções para a resolução |
---|
label | Sequencia de Contabilização |
---|
|
|
| MÉTODO 4 →Revisão nas sequencias de contabilização | Um fator que diminui a performance da rotina CTBANFS |
|
| e | Sequencias | " para um mesmo lançamento padrão, por isso recomendamos que a quantidade não ultrapasse 10 sequencias. |
|
| Image Removed