Compartilhando conhecimento com o mundo

Com tecnologia do Blogger.

Pesquisa

Download

Blogger Tricks

Blogger Themes

Visitas

Assuntos

7/08/2016

Diagnostica de Lentidão - Informix


No Informix depois de tempo observando algumas situações que deixavam o banco de dados lento resolvi criar um script que faz uma check list de algumas coisas para identificar mais rápido o motivo que o banco de dados Informix estava lento, inicialmente coloquei quatro causas mais comuns que ocorriam aqui comigo no script para ser rodado pra trazer o resultado mais rápido essas informações para identificar as possíveis causas da lentidão no banco de dados Informix, o resultado do script é este:
-------------------------------------------------------------------------------------------------
08/07/2016                      ***** INFORMIX BASIC SERVICES *****                      12:56:44
-------------------------------------------------------------------------------------------------

+--------------------------+------------
| Backup Rodando           | 0
+--------------------------+------------
| Usuarios Presos          | 0
+--------------------------+------------
| Update Statistic         | 0
+--------------------------+------------
| Processos com Prioridade | 0
+--------------------------+------------
O script pra rodar esta abaixo;
LOG1="/tmp/1234_$(whoami)_pode_deletar_1234_0.log"
LOG2="/tmp/1234_$(whoami)_pode_deletar_1234_1.log"

echo "-------------------------------------------------------------------------------------------------"
echo -n
echo -n "$(date "+%d/%m/%Y")"
echo -n "      "
echo -n "                ***** INFORMIX BASIC SERVICES *****   "
echo -n "                   "
echo "$(date "+%T")"
echo "-------------------------------------------------------------------------------------------------"
echo
echo "+--------------------------+------------ "
echo "| Backup Rodando           | $(onstat -g sql | grep 'sysutils           RR' | wc -l)"
echo "+--------------------------+------------ "
echo "| Usuarios Presos          | $(ps -ef |grep '\?' | grep -vE 'informix|root|defunct|dba|bin|sendmail|hald|zabbix_agentd|usr|crond|rpc|daemon|ssh|sleep' | wc -l )"
echo "+--------------------------+------------ "
echo "| Update Statistic         | $(onstat -g sql | grep 'UPDATE STATIST' | wc -l)"
echo "+--------------------------+------------ "
echo "| Processos com Prioridade | $(onstat -g mgm | grep / | grep -v Lock | wc -l) "
echo "+--------------------------+------------ "
echo
Vamos colocar mais uma função neste script, quero ver as consultas no banco que estão com algum erro;
LOG1="/tmp/1234_$(whoami)_pode_deletar_1234_0.log"
LOG2="/tmp/1234_$(whoami)_pode_deletar_1234_1.log"

echo "-------------------------------------------------------------------------------------------------"
echo -n
echo -n "$(date "+%d/%m/%Y")"
echo -n "      "
echo -n "                ***** INFORMIX BASIC SERVICES *****   "
echo -n "                   "
echo "$(date "+%T")"
echo "-------------------------------------------------------------------------------------------------"
echo
echo "+--------------------------+------------ "
echo "| Backup Rodando           | $(onstat -g sql | grep 'sysutils           RR' | wc -l)"
echo "+--------------------------+------------ "
echo "| Usuarios Presos          | $(ps -ef |grep '\?' | grep -vE 'informix|root|defunct|dba|bin|sendmail|hald|zabbix_agentd|usr|transporta|crond|sshimada|rpc|avahi|daemon|ssh|cruiz|ods|transfer|tmatas|sleep' | wc -l )"
echo "+--------------------------+------------ "
echo "| Update Statistic         | $(onstat -g sql | grep 'UPDATE STATIST' | wc -l)"
echo "+--------------------------+------------ "
echo "| Processos com Prioridade | $(onstat -g mgm | grep / | grep -v Lock | wc -l) "
echo "+--------------------------+------------ "
echo "| Processos com Erro       | $(onstat -g sql |grep -v '0    0  ' | grep 'Off' | wc -l)"
echo "+--------------------------+------------ "
echo
Resultado;
-------------------------------------------------------------------------------------------------
08/07/2016                      ***** INFORMIX BASIC SERVICES *****                      13:12:58
-------------------------------------------------------------------------------------------------

+--------------------------+------------
| Backup Rodando           | 0
+--------------------------+------------
| Usuarios Presos          | 0
+--------------------------+------------
| Update Statistic         | 0
+--------------------------+------------
| Processos com Prioridade | 0
+--------------------------+------------
| Processos com Erro       | 0
+--------------------------+------------
Este script simples ajudou a identificar algumas situações de lentidões no banco de dados Informix de forma bem mais rápida, pra mim foi uma mão na roda;