Taxa de transferência
O rendimento é útil quando você está fazendo coisas como copiar arquivos. Quando você está fazendo quase tudo, são leituras e gravações aleatórias no disco que o limitarão.
IOPS
As IOPS normalmente especificam o tamanho de cada pacote de dados. Por exemplo, o AWS gp2 pode fazer 10.000 IOPS com um tamanho de carga útil de 16 KiB . Isso se multiplica para 160 MiB / s. No entanto, é improvável que você use o tamanho da carga completa o tempo todo, portanto a taxa de transferência real provavelmente será menor. NB KiB é 1024 bytes, KB é 1000 bytes.
Como o IOPS especifica um tamanho de pacote que também oferece taxa de transferência total. Considerando que alta taxa de transferência não significa que você tenha alta IOPS.
Cenários
Considere estes cenários:
- Iniciando seu PC. Considere a diferença entre um SSD e um disco giratório em seu computador, que é algo com o qual muitas pessoas têm experiência em primeira mão. Com um disco giratório, o tempo de inicialização pode ser de um minuto, enquanto que, com um SSD, esse tempo pode chegar a 10 - 15 segundos. Isso ocorre porque um IOPS mais alto leva a uma latência menor quando as informações são solicitadas. A taxa de transferência do disco giratório é muito boa, 150MB / s, embora o SSD provavelmente seja mais alto, não é por isso que é mais rápido - é a menor latência para retornar informações.
- Executando uma atualização do sistema operacional. Está passando por todo o disco, adicionando e corrigindo arquivos. Se você tivesse baixa IOPS, seria lento, independentemente da taxa de transferência.
- Execução de um banco de dados, por exemplo, selecionando uma pequena quantidade de dados de um banco de dados grande. Ele lerá o índice, lerá de vários arquivos e retornará um resultado. Novamente, vai todo o disco coletar as informações.
- Jogando um jogo no seu PC. É provável que carregue um grande número de texturas de todo o disco. Nesse caso, o IOPS e a taxa de transferência provavelmente são necessários.
Fita LTO
Considere por um momento um sistema de backup em fita. LTO6 pode fazer 400MB / seg, mas (eu estou supondo aqui) provavelmente não pode nem fazer um IOP aleatório, pode ser tão baixo quanto segundos por IOP. Por outro lado, provavelmente pode fazer muitas IOPS sequenciais, se uma IOPS for definida como ler ou gravar um pacote de dados em fita.
Se você tentasse inicializar um SO sem fita, levaria muito tempo, se funcionasse. É por isso que o IOPS é geralmente mais útil do que o throughput.
Para entender um dispositivo de armazenamento, você provavelmente desejará saber se são IOPS aleatórios ou sequenciais e o tamanho do IO. A partir disso, você pode obter taxa de transferência.
AWS
Observe que a AWS publica números de IOPS e de taxa de transferência para todos os tipos de armazenamento, nesta página . O SSD de finalidade geral (gp2) pode fazer 10.000 IOPS de 16 KiB, o que dá um máximo de 160MB / seg. O IOPS provisionado (io1) é de 20.000 IOPS de 16 KiB, o que dá um máximo de 320 MB / s.
Observe que, com os volumes gp2, você obtém 30IOPS por GB provisionado, portanto, para obter 10.000 IOPS, é necessário um volume de 333,33 GB. Não me lembro se os volumes io1 têm uma limitação semelhante (faz um tempo desde que fiz os exames associados em que esse tipo de coisa é testado), mas suspeito que sim, e se assim for, provavelmente 60IOPS por GB.
Conclusão
Alta taxa de transferência sequencial é útil e, em alguns casos, é o fator limitante do desempenho, mas a alta IOPS provavelmente será mais importante na maioria dos casos. Você ainda precisa, naturalmente, de uma taxa de transferência razoável, independentemente da IOPS.