Calculando o IOPS usando largura de banda

0

Eu tenho o valor de largura de banda de gravação recebido do sistema e preciso calcular o IOPS de gravação usando o BW,

Bandwidth = amount of data / second

link

De acordo com o link acima, observei a seguinte fórmula,

Average IO Size * IOPS = Bandwidth

Portanto, se o meu entendimento estiver correto, então, se eu tiver o tamanho médio de E / S, poderei calcular a IOPS.

Exemplo:

O tamanho médio de E / S é de 4KB e largura de banda = 32 KB e

IOPS = Bandwidth / Average IO Size 
IOPS = 32KB / 4KB 
IOPS = 8

Eu tenho duas perguntas,

1) Está correto?
2) De acordo com a definição, parece que tamanho médio de E / S depende do sistema operacional e da aplicação / serviço em execução, assim alguém pode elaborar sobre como obter esse tamanho médio de E / S? para que eu possa obter o IOPS.

    
por Harry 07.02.2018 / 07:00

1 resposta

1

IOPS - input/output operations per second

Assim, na verdade, pode ser muito mais ou menos estimado como

Bandwidth / (average transaction block size + communication overhead)

A carga útil com todas as somas de verificação e encapsulamento de protocolo pode ser enorme, e as transações de E / S atuais serão agrupadas no nível do hardware, tais manipulações são tornadas invisíveis do ponto de vista do software.

Se compararmos os modos AHCI e PATA, há uma sobrecarga de ~ 2,5 apenas a partir de um encapsulamento adicional do conjunto de comandos ATA. Devido à fila de comandos ser síncrona, movimentos adicionais da cabeça do drive não podem ser otimizados. Algumas das otimizações do AHCI NCQ podem falhar.

E se é um SSD, as coisas são muito mais imprevisíveis, porque os SSDs armazenam apenas uma aproximação de seus dados, que serão degradados com o tempo, e você tem que prever os planos de execução do IO do controlador de hardware - alguns eles podem falhar.

Medir a IOPS real em dispositivos de bloco hoje em dia tornou-se bastante complicado. Portanto, se o seu dispositivo de bloco não tiver algum tipo de implementação de hardware de um contador de IOPS - é praticamente impossível medir em nível de software.

Se estamos falando de estimativas aproximadas - a precisão da contagem de IOPS dos controladores NVMe pode ser de aproximadamente +/- 10K IOPS atualmente.

    
por 08.02.2018 / 01:43