Hit Ratios

No último Workshop Oracle AWR na Nerv (o próximo será em 09/08) um dos participantes perguntou a respeito de Hit Ratios (que eu ignoro solenemente, ao analisar um relatório AWR), pois a empresa em que ele trabalha possui um contrato onde os Hit Ratios devem ser mantidos acima de determinado número, como prova de que o banco de dados do cliente está apresentando um bom desempenho.

Por exemplo o Buffer Cache Hit Ratio é a relação entre leituras totais, físicas e lógicas. Quanto mais leituras são feitas no DB_CACHE_SIZE, e não no disco, supõe-se que o banco têm um desempenho geral melhor.

A muito tempo já foi estabelecido que os Hit Ratios não são uma fonte de informação a respeito do desempenho do banco. E um dos motivos é que ele pode ser alterado artificialmente. Por exemplo, para aumentar o Buffer Cache Hit ratio, basta que eu leia um mesmo bloco, repetidamente, e esperar o percentual subir.

O grande Connor McDonald até desenvolveu uma Procedure que lhe fornece o índice de Buffer Cache Hit Ratio que você desejar.
Neste endereço está a Procedure “choose_a_hit_ratio”: http://www.oracledba.co.uk/tips/choose.htm

No exemplo abaixo, primeiramente eu peço um Hit Ratio mais baixo do que o atual, o que não é possível. Então eu peço para o Hit Ratio subir para 99%, e depois para 99.5%. Pronto, o cliente está feliz, se era isso que ele queria… Se for por conta dos Hit Ratios, este contrato está garantido.

SQL> set serveroutput on
SQL> exec choose_a_hit_ratio(85);
Current ratio is: 98.84261
Sorry - I cannot help you

PL/SQL procedure successfully completed.

SQL> exec choose_a_hit_ratio(99);
Current ratio is: 98.84267
Another 167538 consistent gets needed...
Current ratio is: 98.99705

PL/SQL procedure successfully completed.

SQL> exec choose_a_hit_ratio(99.5);
Current ratio is: 98.99705
Another 1240844 consistent gets needed...
Current ratio is: 99.49533

PL/SQL procedure successfully completed.

SQL>

Leave a Reply

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Esse site utiliza o Akismet para reduzir spam. Aprenda como seus dados de comentários são processados.