Notícias

Produto: Todos

Processo: Análise de Performance



Introdução

O ERP da TOTVS é preparado para trabalhar com diversos usuários e requisições simultâneas, ele é capaz de executar vários processos ao mesmo tempo.

Inicialmente iremos realizar uma introdução sobre alguns itens referente à arquitetura e ERP (Aplicativos CorporeRM) e na segunda parte do documento apresentaremos instruções que visam melhorar a performance do sistema e garantir que ele trabalhe sempre com os melhores resultados.

A seguir apresentaremos algumas informações sobre a configuração do ambiente onde o ERP da TOTVS está instalado, é necessário verificar sempre o documento de Portabilidade e Arquitetura evitando utilização e/ou aquisição de hardware e softwares não homologados pela TOTVS, manter o ambiente atualizado com as últimas versões disponibilizadas pela TOTVS e também optar pela melhor configuração, de acordo com o perfil da empresa, local ou 3 camadas e configurações do ERP.

Ambiente 3 camadas

O ERP da TOTVS poderá ser configurado de duas maneiras, 3 camadas ou local, configurando o ambiente para trabalhar local a instalação dos aplicativos será realizada de forma completa no computador do usuário, ou seja, o computador do usuário exercerá os papéis de cliente e servidor de aplicação.

Ao optar por utilizar o ambiente 3 camadas o computador do usuário irá acessar um servidor para logar na aplicação, ou seja teremos a figura do cliente (computador do usuário) e servidor de aplicação, ao utilizar esta arquitetura o cliente terá muitas vantagens, dentre elas:

Ø Redução de custos com hardware – os computadores dos usuários poderão ter menor poder de processamento sendo necessária somente uma máquina robusta que terá o papel de Servidor de Aplicação.

Ø Agilidade de atualização – utilizando a arquitetura 3 camadas será necessário realizar a atualização do ambiente uma única vez no servidor de aplicação.

Ø Controle de versão – nesta arquitetura é assegurada a utilização de uma única versão do software por todos os usuários.

Ø Outras melhorias operacionais – Agendamento e Paralelismo de tarefas, Balanceamento de carga entre servidores de aplicação. 

Para instruções de como configurar a arquitetura 3 camadas veja o documento no link abaixo : http://totvsconnect.blogspot.com/2010/11/totvs-linha-rm-voce-pode-instalar-o-rm.html

Portabilidade e Arquitetura

A TOTVS disponibiliza em todas as versões lançadas no mercado o documento de Portabilidade e Arquitetura com as informações sobre configuração mínima para que o sistema tenha pleno funcionamento, o download deste documento poderá ser realizado através do site http://suporte.totvs.com/download , após realizar o login a tela de download será apresentada.

clip_image001 Deverá ser verificado através do documento de portabilidade se o hardware e o software estão de acordo com as especificações contidas no documento.

Atualização do ambiente

Manter o ambiente atualizado sempre com as últimas versões disponibilizadas pela TOTVS através do link http://suporte.totvs.com/download , após realizar o login a tela de download será apresentada bastando parametrizar o filtro para busca da versão necessária, clientes que atualmente estão utilizando a versão 11.40 favor verificar o item Versão 11.40 neste documento.

Um ambiente atualizado evita desgaste de usuários em problemas já corrigidos e liberados em versões atuais dos aplicativos da TOTVS.

Configurações do ERP (Aplicativos CorporeRM)

Nos aplicativos da linha RM da TOTVS podemos tomar algumas ações para melhorar a performance do aplicativo, citarei algumas que podem ser executadas pelo próprio usuário do sistema, estas ações farão diferença no dia a dia.

Limitação do número de registros por visão

As aplicações da TOTVS possui uma funcionalidade que limita o número de registros por visão garantindo que usuários desavisados não onerem o sistema com sentenças SQL (queries) muito grandes, o padrão é mil registros.

Vantagens:

Ø Reduzir a quantidade de registros que trafega entre o servidor de banco de dados e o host;

Ø Diminuir o tempo de execução das consultas SQL (queries) em banco;

Ø Reduzir a quantidade de registros que trafega entre host e client.

A TOTVS recomenda a limitação do número de registros por visão, para orientações na parametrização da limitação de registros acesse o link http://totvsconnect.blogspot.com/2010/12/como-fazer-alterando-o-numero-de.html .

Filtro nas visões

Outra funcionalidade nas aplicações da TOTVS são os filtros nas visões como forma de restringir os dados a serem exibidos para o usuário. Criando filtros você diminui o número de registros que serão mostrados em tela trazendo somente o que realmente será necessário.

Vantagens:

Ø Filtros criados de acordo com a necessidade específica da situação diminui o tráfego de dados na rede.

Ø Evita a visualização de dados desnecessário poluindo a visão do usuário.

Se falarmos de um único usuário buscando todos os registros de um determinado cadastro em uma base de dados pequena ou média isto pode ser desnecessário, mas se tivermos vários usuários realizando consultas no banco de dados ao mesmo tempo sem nenhuma restrição de busca aos dados podemos ter uma degradação da performance do produto, da rede e do banco de dados, para orientação de como criar um filtro de visão acesse o item Filtro de Visões neste documento.

Log de Auditoria

A utilização do log de auditoria permite o monitoramento das alterações realizadas na base de dados, com a finalidade de garantir o controle sobre dados importantes para a empresa, ao utilizarmos o log de auditoria tornamos os processos auditados mais lentos isto porque toda a alteração é registrada na base de dados para análise posterior.

Preço que pagamos ao usar o LOG

  • Quanto mais campos e tabelas forem auditados, mais recursos de hardware (servidor) são necessários.
  • Se o LOG for usado com critério, não haverá degradação de performance. 
  • A perda de performance vai depender de dois fatores inversamente proporcionais:

O quanto de nossos processos estamos auditando X  O quanto de Recursos de Máquina temos disponível . 

O mais importante ao parametrizar o log de auditoria é ter critério e selecionar para Log somente tabelas e campos realmente necessários.

Para informações sobre a parametrização do Log de Auditoria acesse o help do aplicativo após a instalação.

Fórmulas

As fórmulas utilizadas nos processos do sistema poderão degradar a performance dependendo de como foram montadas, como por exemplo fórmulas recursivas. Para entendimento sobre fórmulas recursivas acesse o item Fórmulas neste documento.

Sentenças SQL

As sentenças SQL criadas no sistema pelo usuário poderão degradar a performance se algumas considerações não forem feitas durante sua criação, por exemplo o uso do (NOLOCK) nas sentenças cadastradas no ERP é muito importante. Outro ponto importante ao cadastrar uma consulta SQL é a marcação ou não do parâmetro "Visível a todas as coligadas", a marcação pode ser desnecessária no caso em que esta consulta SQL não será utilizada nas demais coligadas, então como boa prática se a consulta SQL será utilizada somente na coligada onde está sendo cadastrada, não marque o parâmetro "Visível a todas as coligadas", ou se a consulta SQL for necessária a todas as coligadas e for viável, faça a criação da consulta em uma única coligada procedendo com a cópia entre coligadas para as demais coligadas.

Existe no sistema um parâmetro global referente à segurança de Consultas SQL que esta ligado indiretamente a performance, "Ativa segurança na execução de Consultas SQL (segurança de campos e filtro por usuário)", com este parâmetro marcado ao executar qualquer processo do sistema será feita a verificação da permissão do usuário que está executando o processo acarretando um tempo maior na finalização do processo, então temos que avaliar se algum usuário realmente tem restrição ao executar consultas SQL e caso não tenha, deixar o parâmetro desmarcado. Para mais informações sobre consultas SQL acesse o item Sentenças SQL (Queries).

Cadastro de Usuários

Salientamos também a questão do usuário cadastrado nos aplicativos da TOTVS, é importante que cada usuário tenha um único perfil associado, somente tenha perfil associado nos sistemas que realmente irá utilizar e também nas coligadas que irá utilizar, por exemplo, o usuário utiliza somente o RM Labore mas possui perfil associado ao seu usuário no RM Chronus e RM Vitae, o ideal então é acessar o RM Chronus e RM Vitae e retirar o perfil associado ao usuário nestes dois sistemas permanecendo então somente no RM Labore o usuário com um único perfil associado, para maiores informações sobre o cadastro e manutenção de usuários acesse o item Usuários neste documento.

Tabelas de execução de JOBS (GJOBX, GJOBXEXECUCAO, GJOBLOG)

Deverá ser realizada a limpeza periódica das tabelas GJOBX, GJOBXEXECUCAO, GJOBLOG para melhorar a performance dos processos do sistema, para instruções acesse o item Tabelas GJOBX, GJOBXEXECUCAO, GJOBLOG neste documento.

Histórico de Gráficos, Alerta de Gráfico e Envio de RSS por e-mail

Em casos onde o cliente não utiliza os serviços de Histórico de Gráficos, Alerta de Gráfico e Envio de RSS por e-mail poderá desabilitar estes recursos, para instruções acesse o item Gráficos e RSS.

Instruções

1 - Filtro de Visões

A criação de um filtro de visão deve levar em consideração qual a real necessidade do usuário e realizar todas as restrições possíveis para evitar tráfego desnecessário na rede.

Abaixo iremos criar um filtro de visões para o cadastro de funcionários:

1 - Iremos configurar o filtro da visão de funcionários para restringir o número de registros a serem visualizados, para isto acesse o TOTVS Folha de Pagamento (RM Labore) no menu abaixo:

clip_image003

2 - A seguir clicaremos na opção “NOVO”:

clip_image005

3 - Utilizaremos a opção Situação, no campo Operador informaremos a opção '=' e no campo valor a letra A para selecionarmos somente os funcionários ativos da base de dados:

clip_image007 clip_image009

4 - A seguir clicar no botão 'Adicionar', 'Salvar' e 'OK':

clip_image011 clip_image013

5 - A seguir selecionar o filtro criado no passo anterior e clicar em 'Executar':

clip_image015

Serão demonstrados somente os funcionários ativos cadastrados na base de dados:

clip_image017

Retornar para Filtro de Visões.

2 - Fórmulas

Fórmulas recursivas

Abaixo temos o exemplo de uma fórmula recursiva cadastrada com o código F001 que durante sua execução chama a fórmula F001, conforme exemplo abaixo:

Código: F001

Título: Fórmula recursiva

Texto:

SE CHAPA ='00006' ENTAO FOR('F001')

SENAO FALSO FIMSE

Como vemos no destaque em vermelho o código da fórmula é F001 e no texto da fórmula é solicitado o resultado desta mesma fórmula (F001), fórmulas com esta particularidade utilizadas na base de dados podem provocar um loop infinito (o sistema entra em processo de repetição tentando encontrar o resultado da fórmula até consumir toda a memória disponível e fechar) isto causa a queda do host culminando no fechamento do aplicativo.

Para localizar fórmulas recursivas cadastradas na base de dados, basta utilizar a sentença SQL abaixo, para orientações sobre o cadastro de sentenças SQL acesse a aba Sentenças SQL (Queries).

Fórmulas com data de edição mais recente têm maiores chances de terem introduzido problemas:

SELECT ULTALTDATA, * FROM GFORMULA (NOLOCK)

WHERE TEXTO LIKE '%FOR%(''' + CODIGO + ''')%'

OR TEXTO LIKE '%FOR%(''' + CODIGO + ''')%'

ORDER BY ULTALTDATA DESC

Abaixo temos os passos para alteração de uma fórmula recursiva:

1 - Para acessar o cadastro de fórmulas acesse o menu "Cadastros->Fórmulas .Net":

clip_image019

2 - Selecionar o filtro que retorne o menor número de registros que serão necessários para execução da tarefa que será realizada:

clip_image021

3 - Para análise selecionei a fórmula 00006 e editei clicando no botão 'Editar':

clip_image023

5 - Neste caso a recursividade será retirada informando no lugar da expressão FOR ('00006') a expressão CHAPA:

clip_image025

Fórmulas que chamam outras fórmulas durante a execução

Várias vezes necessitamos realizar cálculos e comparações entre fórmulas do sistema, neste caso a forma ideal é atribuir o resultado das fórmulas que serão necessárias a variáveis que iremos criar, abaixo iremos demonstrar como realizar esta alteração:

1 - Acessaremos o menu "Cadastros->Fórmulas .Net" e criadas as 3 fórmulas abaixo: clip_image027

clip_image029

clip_image031

2 - Para melhorar a perfomance no momento da execução desta fórmula iremos atribuir o resultado das fórmulas chamadas na execução da fórmula F003 a variáveis conforme exemplo abaixo:

clip_image033

Retornar para Fórmulas.

3 - Sentenças SQL (Queries)

1 - Para cadastrar uma sentença SQL devemos acessar o menu "Utilitários->Consultas SQL':

clip_image035

2 - Para visualizar o texto da consulta SQL deverá clicar em 'Editar':

clip_image037

3 - A consulta SQL abaixo foi criada para demonstrar a utilização do NOLOCK, a sentença abaixo ira retornar como resultado os funcionários ativos na base de dados e que recebem salário entre R$ 1.000,00 e R$ 5.000,00:

clip_image039

OBS.: Devemos sempre fazer uso do NOLOCK para evitar que o sistema fique esperando que determinada tabela do banco de dados seja liberada, isto pode ocorrer quando mais de um processo está sendo executado e dois ou mais processos necessitam dos dados de uma mesma tabela do banco de dados.

Parâmetro de segurança em Consultas SQL

Para verificar o parâmetro referente a segurança em Consultas SQL deverá acessar o menu "Opções->Parâmetros->Globais":

clip_image041

Em seguida acessar a aba "Consultas SQL":

clip_image043

Retornar para Sentenças SQL (Queries).

4 - Usuários

1 - Para criar ou dar manutenção no Cadastro de usuários devemos acessar o menu "Cadastros->Segurança->Usuários':

clip_image045

2 - Para alterar as configurações do usuário clique em 'Editar', para incluir um novo usuário clique em 'Novo':

clip_image047 clip_image049

3 - Acesse a aba Segurança e verifique se existe perfil associado:

clip_image051

OBS.: É importante que o usuário somente tenha perfil associado nos sistemas e coligadas que realmente utilizará, também ressaltamos que cada usuário deverá ter somente um perfil associado, isto evita gasto de tempo em verificações de segurança desnecessárias.

Retornar para Usuários.

5 - Tabelas GJOBX, GJOBXEXECUCAO e GJOBLOG

Através de todos os aplicativos da linha RM consegue-se limpar as tabelas acima, abaixo os passos para realizar esta tarefa:

1 - Neste exemplo acessei o RM Labore no menu “Sistema->Server->Gerenciamento de Jobs”:

clip_image053

2 - Deverá agora acessar o menu “Processos->Limpar Log de Execução de Processos”:

clip_image055

3 - Poderá selecionar os processos que serão excluídos da base de dados e ainda parametrizar quantos dias os processos ficaram gravados na base de dados antes da exclusão neste exemplo foram selecionados todos os processos e informei que os processos deverão ficar 5 dias na base antes da exclusão:

clip_image057

Retornar para Tabelas GJOBX, GJOBXEXECUCAO e GJOBLOG.

6 - Versão 11.40

Para clientes que utilizam a versão 11.40 do TOTVS Folha de Pagamento será necessário atualizar para a Biblioteca 11.40.30.100 ou superior e executável do TOTVS Folha de Pagamento 11.40.28_04.

Para realizar o download dos arquivos citados acima deverá acessar site http://suporte.totvs.com/download , após realizar o login a tela de download será apresentada.

Retornar para Versão 11.40.

7 - Gráficos e RSS

1 - Para desabilitar os Histórico de Gráficos, Alerta de Gráfico e Envio de RSS por e-mail deverá acessar o diretório onde estão instalados os aplicativos da TOTVS linha RM na pasta RM.NET, localizar o aplicativo RM.AliasManager e executar, a seguinte tela será apresentada:

clip_image059

2 - Deverá então desmarcar as opções Histórico de Gráficos, Alerta de Gráfico e Envio de RSS por

e-mail:

clip_image061

Retornar para Gráficos e RSS.

  • Sem rótulos