Você está na página 1de 21

Exibir origem http://tdn.totvs.com/plugins/viewsource/viewpagesrc.action?

pageId=42043666

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.

1 de 21 12/07/2017 16:53
Exibir origem http://tdn.totvs.com/plugins/viewsource/viewpagesrc.action?pageId=42043666

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.

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 .

2 de 21 12/07/2017 16:53
Exibir origem http://tdn.totvs.com/plugins/viewsource/viewpagesrc.action?pageId=42043666

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 é

3 de 21 12/07/2017 16:53
Exibir origem http://tdn.totvs.com/plugins/viewsource/viewpagesrc.action?pageId=42043666

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:

4 de 21 12/07/2017 16:53
Exibir origem http://tdn.totvs.com/plugins/viewsource/viewpagesrc.action?pageId=42043666

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:

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

5 de 21 12/07/2017 16:53
Exibir origem http://tdn.totvs.com/plugins/viewsource/viewpagesrc.action?pageId=42043666

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:

6 de 21 12/07/2017 16:53
Exibir origem http://tdn.totvs.com/plugins/viewsource/viewpagesrc.action?pageId=42043666

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

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

7 de 21 12/07/2017 16:53
Exibir origem http://tdn.totvs.com/plugins/viewsource/viewpagesrc.action?pageId=42043666

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

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

8 de 21 12/07/2017 16:53
Exibir origem http://tdn.totvs.com/plugins/viewsource/viewpagesrc.action?pageId=42043666

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":

9 de 21 12/07/2017 16:53
Exibir origem http://tdn.totvs.com/plugins/viewsource/viewpagesrc.action?pageId=42043666

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:

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

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

10 de 21 12/07/2017 16:53
Exibir origem http://tdn.totvs.com/plugins/viewsource/viewpagesrc.action?pageId=42043666

CHAPA:

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:

11 de 21 12/07/2017 16:53
Exibir origem http://tdn.totvs.com/plugins/viewsource/viewpagesrc.action?pageId=42043666

12 de 21 12/07/2017 16:53
Exibir origem http://tdn.totvs.com/plugins/viewsource/viewpagesrc.action?pageId=42043666

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:

13 de 21 12/07/2017 16:53
Exibir origem http://tdn.totvs.com/plugins/viewsource/viewpagesrc.action?pageId=42043666

Retornar para Fórmulas.

3 - Sentenças SQL (Queries)


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

14 de 21 12/07/2017 16:53
Exibir origem http://tdn.totvs.com/plugins/viewsource/viewpagesrc.action?pageId=42043666

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

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:

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

15 de 21 12/07/2017 16:53
Exibir origem http://tdn.totvs.com/plugins/viewsource/viewpagesrc.action?pageId=42043666

"Opções->Parâmetros->Globais":

Em seguida acessar a aba "Consultas SQL":

Retornar para Sentenças SQL (Queries).

4 - Usuários

16 de 21 12/07/2017 16:53
Exibir origem http://tdn.totvs.com/plugins/viewsource/viewpagesrc.action?pageId=42043666

1 - Para criar ou dar manutenção no Cadastro de usuários devemos acessar o menu


"Cadastros->Segurança->Usuários':

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

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

17 de 21 12/07/2017 16:53
Exibir origem http://tdn.totvs.com/plugins/viewsource/viewpagesrc.action?pageId=42043666

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”:

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

18 de 21 12/07/2017 16:53
Exibir origem http://tdn.totvs.com/plugins/viewsource/viewpagesrc.action?pageId=42043666

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:

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 ,

19 de 21 12/07/2017 16:53
Exibir origem http://tdn.totvs.com/plugins/viewsource/viewpagesrc.action?pageId=42043666

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:

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

20 de 21 12/07/2017 16:53
Exibir origem http://tdn.totvs.com/plugins/viewsource/viewpagesrc.action?pageId=42043666

Retornar para Gráficos e RSS.

21 de 21 12/07/2017 16:53