Identificando Lentidão sistêmica no Agrotitan

Processos para conferir uma lentidão sistêmica reportada pelo cliente:

  1. O primeiro passo é realizar um contato para entender a situação:

    1. Quando começou acontecer?

    2. Foi realizada alguma alteração (Atualização, Alguma mudança relevante que impacte o servidor)?

    3. É uma lentidão geral ou em alguma rotina específica do sistema?

      1. Essa pergunta é bem importante, pois poderá evitar toda a validação sub-sequente.

O tópico 2 é exclusivo para cliente que receberam o atualizador do Lote 731 com a versão inferir a 4.0.2208.1012

  1. Já é de conhecimento que no último att enviado tanto em Oracle para Firebird, faltou a criação de um índice na tabela MOVITEMAGRO Então se faz necessário acessar esta tabela e conferir se todos os índices listados abaixo estão criados:
    INDEX MOVITEMAGRO01
    INDEX MOVITEMAGRO02
    INDEX MOVITEMAGRO03
    INDEX MOVITEMAGRO04
    INDEX MOVITEMAGROPERIODO

    Tá, mas como vou saber isso? É simples:

    1. Em Oracle:
      No SQLDeveloper selecione a tabela MOVITEMAGRO, depois clique sob a guia Índices

      Se faltar um dos índices destacados, será necessário criar o(s) mesmo(s) através do(s) comando(s), mostrados na sequência:

    2. Em Firebird:
      No IBExpert selecione a tabela MOVITEMAGRO, depois clique sob a guia Índices

      Se faltar um dos índices destacados, será necessário criar o(s) mesmo(s) através do(s) comando(s), mostrados na sequência:

  2. O terceiro passo se caracteriza como uma validação básica em algumas aplicações, sendo elas:

    1. Socket Server
      Por padrão o Socket Server em Servidores de Cliente deve estar configurado para 1000 Thread Cache

       

    2. Nível de Detalhes das aplicações (Debug):
      As aplicações Viasoft que executam a função de Server possuem um Nível de Detalhes para geração dos log’s:

      E se estiver com o nível 9 em um servidor de produção dos nossos clientes, pode ocasionar lentidão devido ao grande número de logs que precisa gerar a cada iteração execução de um processo por parte do usuário.

      OBSERVAÇÃO: A maioria das aplicações, com a função de Server tem essa funcionalidade Então uma boa prática e sempre conferir essas informações nas aplicações.

    3. Algo um pouco “besta”, mas que não podemos descartar, é se o cliente atualizou corretamente o Banco de Dados:

       

  3. Conferir o desempenho da Infra:

    1. Acessar o Gerenciado de Tarefas e verificar como está o desempenho do Servidor.

       

    2. Se o cliente utiliza um ambiente externo a exemplo, somente o usuário X relata uma lentidão, neste caso é interessante efetuar o teste de internet realizando um ping com o endereço do servidor. Neste caso acesse o CMD da máquina Client e execute o comando:
      ping endereco-de-ip -t

       

  4. O quinto e último passo terá um ponto específico para Firebird e outro para Oracle.

    1. Oracle
      No SQLDeveloper é possível identificar se tem algum comando que está travando o banco de dados e/ou com um tempo de execução o qual está prejudicando outros processos. Para isso acesse o menu Ferramentas » Monitorar Sessões, na imagem a seguir é mostrado um exemplo de como esse processo funciona, damos ênfase a coluna Seconds in Wait (Segundos em espera)

      Clicando sobre a coluna podemos realizar a ordenação pela consulta com maior tempo de espera e no grid Código SQL Ativo é possível identificar a sintax do comando sendo executado no momento.

      OBSERVAÇÃO: Se essa situação supracitada ocorrer solicite apoio do Programador ou DBA responsável por prestar apoio. Importante no momento da análise essa tela seja utilizada apenas para consulta.

    2. Firebird
      O firebird possuí 3 tipos de instalação, as quais podem ser conferidas como no exemplo a seguir:

      Sendo elas:

      1. Firebird SuperServer

        1. "C:\Program Files\Firebird\Firebird_2_5\bin\fbserver.exe" -s DefaultInstance

        2. Essa opção nunca deve ser utilizada em um ambiente de produção, se por acaso for identificada é recomendado que o Firebird seja reinstalado e configurado uma das opções abaixo.

      2. Firebird Classic

        1. "C:\Program Files\Firebird\Firebird_2_5\bin\fb_inet_server.exe" -s DefaultInstance

        2. Opção mais recomendada para utilização no ambiente de produção dos clientes.

      3. Firebird SuperClassic

        1. "C:\Program Files\Firebird\Firebird_2_5\bin\fb_inet_server.exe" -s DefaultInstance -m

  5. Exemplos:
    Através da ação 21 do chamado de Suporte 493626 foi registrado em comentário interno uma análise seguindo os passos anteriores Então essa situação pode ser consultada como exemplo em futuras demandas.