Histórico da Página
Boletim Técnico - Sentinela
Produto: | Banco de Dados |
Versões: | 12.1.8 ou superior |
Ocorrência: | Sentinela |
Ambiente: | Monitoramento de Ambiente |
Passo a passo: | Para acessar a ferramenta de Monitoramento de Ambiente, será necessário executar o seguinte procedimento:
|
Em seguida será exibida a tela de Monitoramento de Ambientes com as suas 3 opções correspondentes: Checagem Rápida do sistema, Tarefas de Execução Agendada, Ferramentas de Análise:
|
Abaixo iremos abordar separadamento todos os subprocessos das 3 opções do Sentinela:
Obs.: Estas recomendações são apenas um direcionamento para uma boa operação do servidor de banco de dados e não deve ser considerado como único padrão de avaliação, monitoração, e configuração do banco de dados que deve ser realizado por o DBA responsável.
Checagem Rápida de Ambiente:
Este módulo possui funcionalidades de checagem de ambiente, seja o Banco de Dados ou configurações do ambiente, no que tange a performance da aplicação. Muitas destas informações serão úteis para uma análise, permitindo avaliar possíveis problemas de performance ligados ao ambiente.
As opções de checagem poderão ser marcadas individualmente, possibilitando assim, filtrar os itens desejados para análise.
|
Verificar .Config Server: Verificar as configurações do arquivo .config do Host e já ajusta o que se pode ajustar.
Para garantirmos o correto funcionamento do sistema em um ambiente N camadas, os arquivos de configurações devem ser configurados respeitando as orientações a seguir.
Localizationlanguage: A tag LOCALIZATIONLANGUAGE determina em qual linguagem o sistema irá funcionar, habilitar essa tag evita que o RM valide qual a linguagem o sistema operacional está configurado. Exemplo: <add key=“LOCALIZATIONLANGUAGE” value “pt-BR” />
Visando melhorar a performance de acesso em bancos Oracle, existe um cache para armazenagem de dados do schema da base de dados. Este cache se faz necessário pois o "GetSchema" no Oracle tem um custo bastante caro. Para a correta utilização do mesmo, deve-se parametrizar o Config do Host da seguinte forma:
UseDbSchemaCache: Indica se o sistema guardará em cache os esquemas obtidos pelas consultas. Exemplo: <add key="UseDbSchemaCache" value="true" />
DbSchemaCacheMaxSize: Define a quantidade de schemas que serão guardados em cache. Exemplo: <add key="DBSchemaCacheMaxSize" value=“5000"/> |
Registros por Versão: Retorna todas as visões que contém mais de 1000 registros, que é o número máximo de registros padrão.
Quando maior a quantidade determinada para cada cadastro, maior será o tempo de resposta do sistema para a pesquisa realizada. Recomendamos que mantenha a configuração padrão: 1000 registros.
Para maiores detalhes de como realizar está parametrização acesse: http://tdn.totvs.com/pages/releaseview.action?pageId=102924324
Parâmetros do Banco de Dados: Retorna um conjunto de parâmetros do banco de dados para auxiliar na análise.
Ao fim da execução o sistema exibirá de forma detalhada as informações pertinentes ao Version e Resources:
Principais itens do Resources:
Parâmetros Globais de Performance: Verifica se os parâmetros globais de performance estão configurados adequadamente. Lista alguns parâmetros que podem ser desabilitados para melhorar a performance. Segue abaixo itens correspondentes: |
Desabilitar estatísticas automáticas: Verifica se as estatísticas automáticas estão habilitadas para o banco de dados RM.
A opção recomendada é que elas fiquem desabilitadas e que seja rodada de forma recorrente em períodos que os usuários não estão logados nas aplicações.
Configurada como True, as estatísticas de índice são automaticamente criadas, sempre que você criar um índice, o SQL Server cria um conjunto de estatísticas sobre os dados contidos dentro do índice. O otimizador de consulta utiliza essas estatísticas para determinar se ele deve ou não utilizar o índice para ajudar a processar a consulta. Esta opção deve estar desmarcada para não gerar estatísticas em todas as tabelas, nosso banco já tem os índices devidamente criados, por isso, agende uma rotina para executar a procedure RMATUALIZAESTATISTICAS que só atualiza das tabelas do RM. Ex: Quando o sistema executa um comando e que tenha uma cláusula WHERE e o Create Statistics está habilitado, o otimizador de consultas cria estatísticas até mesmo para colunas que não têm índices, mas que aparecem na cláusula WHERE.
Top 50 CPU: Lista as querys com maior consumo de CPU ao serem executadas. Através dos resultados apresentados é orientado que o DBA ou responsável pelo Banco de Dados, avalie as consultas SQL em questão.
Tabelas Grandes: Lista as maiores tabelas por data (tamanho da tabela), índices (volume de dados dos índices), registros (volume de registros). |
Possibilita verificar as tabelas com maior consumo em KB de Dados e Indices, exibindo a quantidade de registros correspondentes.
|
Obs.: Atendente-se as tabelas correspondentes ao Log de Auditoria e gestão de processos, estas tabelas devem ser limpadas periodicamente:
Instruções para limpeza nos seguintes links: http://tdn.totvs.com/pages/viewpage.action?pageId=42043666 (Item 5) http://tdn.totvs.com/display/public/rm/Log+de+Auditoria
Checa Collation (DB): Valida a Collation do Banco. A utilização de um Collation incorreto possibilitará o acesso ao sistema, porém não é possível prever se o sistema apresentará uma não-conformidade durante a sua utilização. A alteração do Collation do Data Base pode ser realizada pela DBA ou responsável pelo Banco de Dados na empresa, caso deseje, podemos realizar tal alteração pelo processo de consultoria (processo tarifado).
Collation determinado pela Totvs pode ser verificado pela portabilidade: http://tdn.totvs.com/pages/releaseview.action?pageId=60522502
Checa Linguagem (DB): Verifica se a linguagem dos seguintes logins CorporeRM, está parametrizada com o Language ENGLISH:
RM; SYSDBA.
Caso contrário, o Sentinela irá ajustar automaticamente durante a execução da validação.
Checa modo de transação: Valida se o módulo de transação é o recomendado, que no caso é o ReadCommited. As transações realizadas no banco de dados possuem um nível de isolamento, que determina o grau em que a transação será isolada das demais transações. Os níveis de isolamento controlam, por exemplo, se serão feitos bloqueios quando os dados são lidos, que tipo de bloqueio é necessário, e por quanto tempo estes bloqueios serão mantidos.
Para melhor aproveitamento do sistema RM, recomendamos a utilização do nível de isolamento READ COMMITTED (default), usando controle de versões de linha, ou seja, com o parâmetro da base de dados READ_COMMITTED_SNAPSHOT ativado.
Recomendações pertinentes ao nível de isolamente, disponibilizadas no seguinte link: http://tdn.totvs.com/pages/releaseview.action?pageId=61933554 |
Lista todas as triggers da base de dados: Lista todas as Triggers Habilitadas e Desabilitadas da Base de Dados, informando a data de criação e data de modificação correspondentes:
Observações:
Page Life Expectancy:O indicador Page Life Expectancy (PLE) ajuda a determinar problemas com pressão de memória no SQL Server. O contador mostra quanto tempo médio, em segundos, as páginas de dados estão sendo mantidas no buffer cache. Qualquer valor abaixo de 300 segundos pode indicar que os dados estão sendo removidos do cache com muita frequência e consequentemente provocando a necessidade de leitura em disco, o que por sua vez aumenta o I/O.
Top 50 índices Fragmentados: Tabelas mais fragmentadas da base de dados, demonstrando a média de Fragmentação da tabela (Logical Scan Fragmentation) e a quantidade de páginas.
Para correção é recomendada a execução das rotinas de manutenção da Base de Dados: http://tdn.totvs.com/pages/releaseview.action?pageId=61935061
Consultas SQL sem (NOLOCK): Lista todas as consultas SQL sem a cláusula NOLOCK.
Atualmente obtemos vários recursos de gerenciamento e extração de informações tais como relatórios, cubos, planilhas, dentre outros componentes que utilizam como fonte de dados “Consultas SQL”. Utilizando banco de dados SQL Server, é aconselhável a inclusão da clausula (NOLOCK) nas querys elaboradas, para que durante execução da mesma, a tabela filtrada não seja alocada, exceto para querys específicas que necessitam de um retorno full.
Obs.: Exclusivo para o SQL Server
Verificar antivírus: Verifica se existe algum antivírus instalado pois este pode estar sendo o ofensor de performance da máquina.
Por segurança a maioria dos antivírus realizam as verificações em tempo real nos diretórios TOTVS e banco de dados, prejudicando qualquer execuções e/ou gravação a serem realizadas nos diretórios. Deste modo é aconselhável tratar os diretórios abaixo como exceção, em todos ambientes que possuem a estrutura instalada:
Linha RM ... :\TOTVS ... :\WINDOWS\Microsoft.Net ... :\Windows\Assembly
Banco de dados ORACLE: ..:\ORACLE\app ou ..:\App SQL Server: * 32bits ..:\Program Files (x86)\Microsoft SQL Server ..:\Program Files (x86)\Microsoft SQL Server Compact Edition * 64 bits ..:\Program Files\Microsoft SQL Server ..:\Program Files\Microsoft SQL Server Compact Edition
Validar .Config: Verifica se as configurações do arquivo .config na MDI ou Aplicativo estão de acordo com o recomendado e já ajusta o que se pode ajustar.
Verificar IPV6: Lista as interfaces de rede que estão configuradas com o IPV6 e recomenda desabilitar. Costuma dar erro ao acessar o fileserverpatch quando usando N Camadas.
Instruções para parametrização deste item, disponíveis no seguinte link: http://tdn.totvs.com/pages/releaseview.action?pageId=145365112
Desabilitar D.E.P.: Verifica se o Windows Data Execution Prevention está desabilitado no S.O. Ele habilitado ocasiona problema de performance, com overhead no S.O e maior acesso a disco.
Instruções para parametrização deste item, disponíveis no seguinte link: http://tdn.totvs.com/pages/releaseview.action?pageId=145365112 |
Informações do Sistema: Retorna um conjunto de informações básicas da máquina.
Os resultados da geração destas funcionalidades podem ser gerados através do Botão Direito, “Salvar Relatório em Arquivo”. Estas informações poderão ser enviadas para a TOTVS para auxiliar na análise do ambiente.
|
Tarefas de Execução Agendada
São tarefas que demoram certo tempo para serem executadas e que não devem ser rodadas enquanto os usuários estiverem utilizando o sistema. Importante agendar estas tarefas, que são na sua maioria de manutenção do ambiente, de forma recorrente.
Atualização de Estatísticas (BD): Executa a atualização de estatísticas do Banco. Recomendando fazer 1 vez por dia e pode-se criar um agendamento para isto.
Efetua a manutenção da base de dados, realizando a atualização de estatísticas. Recomendado que também verifique a consistência física e lógica da base de dados. Estes procedimentos são de responsabilidade do DBA da empresa, caso não possua DBA a equipe de consultoria da TOTVS poderá ser acionada para esta avaliação.
Informações pertinentes a manutenção da Base de Dados estão disponíveis no seguinte link: http://tdn.totvs.com/pages/releaseview.action?pageId=61935061 http://tdn.totvs.com/pages/releaseview.action?pageId=81790043
Recriar Views Materializadas de Schema: Exclusivo do Banco Oracle, recria as views materializadas de schema com o intuito de melhorar a performance do banco no acesso as mesmas. A criação de VIEWS Materializadas para os catálogos do Oracle é realizada em alguns clientes como alternativa de melhoria de desempenho para as consultas realizadas pelo provider da aplicação. Para verificar se possui views materializadas na base realize a seguinte consulta: SELECT mview_name FROM all_mviews WHERE OWNER = 'RM'; A existência destes objetos não consistem em um problema e tem o objetivo de melhorar o desempenho, porém as mesmas precisam estar sempre atualizadas semanalmente. Limpeza das tabelas de Job: Apaga todas as tabelas de Log de Execução de Job que já rodaram, menos as pendentes e agendadas (GRelBatch, GJobLog, GJobXLog, GJobXExecucao, GJobX).
Deverá ser realizada a limpeza periódica das tabelas GRelBatch, GJobLog, GJobXLog, GJobXExecucao, GJobX para melhorar a performance dos processos do sistema.
Essa operação ira excluir TODOS os dados das tabelas de JOB (Os jobs agendados serão excluídos também!). Essa operação não pode ser desfeita e JAMAIS deve ser executada em horário de produção. Existe risco de parada TOTAL do sistema caso essas observações não sejam seguidas. |
Instruções para limpeza através da aplicação disponibilizadas no seguinte link: http://tdn.totvs.com/pages/viewpage.action?pageId=42043666 (Item 5)
Desabilitar Fórmulas Visuais e Habilitar Fórmulas Visuais: Desabilita e habilita as fórmulas visuais, usado para verificar se a Fórmula Visual é ofensora de performance ou causadora do erro. Para habilitar, usar o log gerado na desabilitação para restaurar as mesmas, utilizando o padrão 'CodColigada|IdFormulaVisual|NomeFormulaVisual'.
Teste de Consultas SQLs: Valida a execução das Consultas SQLs, verificando se existe consultas com erro de sintaxe. Também pode ser utilizado para demonstrar o tempo de execução de cada Sentença SQL.
|
Ao clicar duas vezes sobre o código da consulta SQL, o sistema realizará a abertura do editor, possibilitando assim, a edição.
Recriação de Índices (BD): Recria os índices do Banco de Dados e resolve os problemas de fragmentação das tabelas. Demorado e deve ser feito fora do horário de expediente.
Efetua a manutenção da base de dados, realizando a reindexação e ou reconstrução de índices. Recomendado que também verifique a consistência física e lógica da base de dados. Estes procedimentos são de responsabilidade do DBA da empresa, caso não possua DBA a equipe de consultoria da TOTVS poderá ser acionada para esta avaliação.
Informações pertinentes a manutenção da Base de Dados estão disponíveis no seguinte link: http://tdn.totvs.com/pages/releaseview.action?pageId=61935061 http://tdn.totvs.com/pages/releaseview.action?pageId=81790043
Desabilitar e Habilitar Triggers (BD): Habilita e desabilita as triggers, usado para realizar teste se pode ser as triggers ofensoras de performance ou causadora do erro.
Caso necessário acesse o seguinte link para mais informações sobre o processo de desabilitar todas as triggers: http://www.tdn.totvs.com/display/public/rm/Triggers+Habilitadas
Execução do NGEN: Usada para gerar as imagens nativas, o que pode ocasionar em ganho de performance. O Gerador de Imagem Nativa (NGEN) é uma ferramenta que melhora o desempenho de aplicativos gerenciados. O NGEN cria imagens nativas, que são arquivos que contém o código de máquina específico do processamento compilado e as instala no cache de imagem nativa do computador local. O tempo de execução pode usar imagens nativas do cache em vez de usar o compilador JIT (Just-In-Time) para compilar o assembly original.
Teste de Fórmulas: Valida a execução das Fórmulas, verificando se existe fórmulas com erro de sintaxe. Também pode ser utilizado para demonstrar o tempo de execução de cada fórmula. Estes processos podem ser feitos de forma agendada uma vez que é um Job que é gerado na base.
Ao clicar duas vezes sobre o código da fórmula, o sistema realizará a abertura do editor, possibilitando assim, a edição.
Ferramentas de Análise: |
Nessa opção são disponibilizadas um conjunto de ferramentas auxiliares para análise da performance da aplicação.
Monitor de Banco de Dados: Executa o Monitor de Banco de Dados, que dispõe de uma série de funcionalidades para monitoramento online da aplicação, com o por exemplo, locks de tabelas, fila de Jobs e fórmulas visuais. No caso de Locks de tabela, informa as SQLs que estão bloqueando e bloqueadas permitindo o “cancelamento” da mesma.
|
Snapshot de Bibliotecas: Realiza o comparativo entre todos os assemblies da biblioteca identificando possíveis diferenças entre o ambiente cliente, servidor de Jobs e servidor de aplicação. Esta comparação pode ser executada nos seguindos modos: Criar Arquivos de Snapshot e Comparativo Automático
Criar Arquivos de Snapshot: Cria um arquivo com extensão xml do Cliente, AppServer ou JobServer, que poderá ser utilizado posteriormente no Comparador de Snapshot.
Comparativo Automático: Realize a comparação automática entre o Cliente/AppServer, o AppServer/JobServer e Client/JobServer.
Comparador de Snapshot: Compara os assemblies da Biblioteca de forma manual, através dos arquivos XML criados no item Snapshot de Bibliotecas. Ao fim da comparação irá indicar os itens divergentes entre os Ambientes A e B.
Comparador de Schema (Banco de Dados): Compara o Schema do Banco de Dados - do alias conectado - a um gabarito XML, identificando diferenças estruturais entre ambos. Deve ser utilizado para comparar Base Dados distintas, sendo assim, o gabarito XML é criado através do item Criar XML de Schema (Banco de Dados) das Ferramentas de Análise.
Ao fim da comparação irá apresentar os objetos divergentes entre a Base de Dados conectada e a Base de Dados do gabaritos XML.
Visualizar GOOBER Report: Permite visualizar um relatório com as informações geradas na opção de Checagem Rápida de Ambiente. Poderá ser utilizado pelo time do Suporte para análise do ambiente.
Obs.: Arquivo com extensão GOOBER | |
Observações: | Para mais informações: |