MigraTI - Soluções em banco de dados

domingo, 18 de abril de 2010

Evitando disputa de IO em disco.

Bom estou empenhado em entender melhor os niveis de performance, então logicamente posso começar a postar varias dicas sobre este topico =].

Hoje vou escrever algo bem interessante e facil de se aplicar em qualquer ambiente.

Bem como qualquer DBA sabe é sempre criar os datafiles de indices e dados em locais/discos diferentes, para melhorar o IO mais balanceado.

Não basta apenas dividirmos os dados dos indices, vamos selecionar os datafiles com mais IO e assim conseguiremos analisar quais datafiles precisam trocar de lugar.

Segue select abaixo:
col name for a60
select name,PHYRDS,PHYWRTS,READTIM,WRITETIM
from v$filestat a, v$dbfile b
where a.file#=b.file#
order by READTIM desc;


NAME PHYRDS PHYWRTS READTIM WRITETIM
------------------------------------------------------------ ---------- ---------- ---------- ----------
/u01/app/oracle/oradata/lana/system01.dbf 1377 6 2248 0
/u01/app/oracle/oradata/lana/sysaux01.dbf 130 49 213 30
/u01/app/oracle/oradata/lana/undotbs01.dbf 67 26 44 16
/u01/leolana1.dbf 5 2 11 0
/u01/app/oracle/oradata/lana/lana_LOB.DBF 5 2 11 3
/u01/app/oracle/oradata/lana/users01.dbf 5 2 6 0
/u01/app/oracle/oradata/lana/TEIKO.dbf 5 2 4 0


Uma grande diferença no número de escritas e leitura fisica entre os discos mostra quando o disco esta sendo sobrecarregado.
Observe que o filesystem "/u01/app/oracle/oradata/lana/system01.dbf" tem muitas leituras logicas mas tem poucas leitura/gravações fisicas, no caso não esta gerando IO.
Quanto mais leituras fisicas mais IO.

Esses números mostram que o banco ganharia performance de IO se dividissemos os filesystem dos datafiles system,sysaux e undo.

logicamente os esses números são inexpressivos pois base de teste não são muito utilizados.
Esses valores podem fazer uma grande diferença em bancos de produção.

[]'s

Nenhum comentário:

Postar um comentário