«

»

jun 06

Qual arquivo da base utiliza mais I/O

 

Frequentemente precisamos monitorar a utilização de I/O e saber qual arquivo é o mais utilizado em uma base que possui vários arquivos é muito importante. Suponhamos que você isolou a tabela mais utilizada em 3 arquivos diferentes. Agora para saber qual destes arquivos é o mais utilizado ficou um pouco mais difícil. Para facilitar, podemos utilizar o script abaixo:

 

SELECT DB_NAME(DB_ID()) AS [Database Name],[file_id], num_of_reads, num_of_writes,
io_stall_read_ms, io_stall_write_ms,
CAST(100. * io_stall_read_ms/(io_stall_read_ms + io_stall_write_ms) AS DECIMAL(10,1)) AS [IO Stall Reads Pct],
CAST(100. * io_stall_write_ms/(io_stall_write_ms + io_stall_read_ms) AS DECIMAL(10,1)) AS [IO Stall Writes Pct],
(num_of_reads + num_of_writes) AS [Writes + Reads], num_of_bytes_read, num_of_bytes_written,
CAST(100. * num_of_reads/(num_of_reads + num_of_writes) AS DECIMAL(10,1)) AS [# Reads Pct],
CAST(100. * num_of_writes/(num_of_reads + num_of_writes) AS DECIMAL(10,1)) AS [# Write Pct],
CAST(100. * num_of_bytes_read/(num_of_bytes_read + num_of_bytes_written) AS DECIMAL(10,1)) AS [Read Bytes Pct],
CAST(100. * num_of_bytes_written/(num_of_bytes_read + num_of_bytes_written) AS DECIMAL(10,1)) AS [Written Bytes Pct]
FROM sys.dm_io_virtual_file_stats(DB_ID(), NULL) OPTION (RECOMPILE);

 

Vejam o resultado:

 

 

Espero que gostem.

 

.

4 comentários

Pular para o formulário de comentário

  1. Rafael Rodrigues

    Muito bom amigo! Mas vc poderia colocar um print do resultado para vermos na pratica!
    Parabens!

  2. Luiz Mercante

    Caro Rafael,

    Segue o print, espero que tenha ajudado.

    Abs.

  3. Emerson S. Gaudencio

    Muito boa essa dica. Parabéns. Vai ser de grande ajuda este script.

  4. José Victor

    Excelente dica!

Deixe uma resposta