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.