Calculando IOPS para um único disco rígido - o que estou fazendo errado?

1

Então, eu sei que não há uma maneira padronizada de calcular IOPS para um HDD, mas de tudo o que li, parece que uma das fórmulas mais precisas é a seguinte:
IOP / ms = + {latência rotacional} + ({tamanho do bloco} / {taxa de transferência de dados})

O que é IOs por milissegundo ou o que o livro que estou lendo chama de "Tempo de serviço em disco". Também a latência rotacional é calculada como metade de uma rotação em milissegundos.

Isso foi tirado do livro da EMC "Armazenamento e Gerenciamento de Informações" - provavelmente uma fonte bastante confiável, certo \ errado?

Ao colocar esta fórmula em prática, considere este folha de dados da Seagate .

Vou calcular o IOPS para o modelo ST3000DM001 para um tamanho de bloco de 4kb:

  • Buscar média (gravação) = 9,5 - Vou medir o IOPS para gravações
  • Velocidade do fuso = 7200 rpm
  • Taxa de dados média = 156MB / s

Então minhas variáveis são:

  • Buscar tempo = 9,5 ms
  • Latência rotacional = (.5 / (7200rpm / 60)) = 0,004s = 4ms
  • Taxa de dados = 156MB / s = (0,156MB / ms / 0,004MB) = 39

9,5 ms + 4 ms + 39 = IO / ms 52,5

1 / (52,5 * 0,001) = 19 IOPS

19 IOPS para esta unidade claramente não está certo, então o que estou fazendo errado?

    
por red888 06.11.2013 / 18:18

2 respostas

3

Suas fórmulas básicas são razoáveis, mas isso :

Data Rate = 156MB/s = (0.156MB/ms / 0.004MB) = 39

não pode estar certo. Você precisa determinar o tempo necessário para ler um bloco, que seria

4 KB / 156 MB/s = 2.5 * 10^-5s ( ~ 0.025 ms)

Como esse valor é insignificante, você pode omiti-lo para a aproximação da regra de execução e o cálculo seria parecido com 1 / 0.0135 , resultando em cerca de 74 IOPS.

    
por 06.11.2013 / 21:26
3

Por que você inclui a taxa de dados?

1 / (0,004 + 0,0095) ~ 74 IOPS.

    
por 06.11.2013 / 21:23