Um olhar aprofundado sobre IOPS

Nas folhas de especificações dos dispositivos de armazenamento, seja para SSDsEm qualquer tipo de produto, matriz de armazenamento empresarial ou especificações de disco de serviços em nuvem, o "IOPS" é quase sempre mencionado repetidamente. As promoções de produtos destacam frequentemente "milhões de IOPS" ou "desempenho aleatório ultra-elevado" como principais pontos de venda. No entanto, para muitos utilizadores, IOPS continua a ser um termo técnico que parece importante, mas que não é totalmente compreendido. Entre as muitas métricas para medir o desempenho do armazenamento, o IOPS é um conceito crucial, mas muitas vezes mal compreendido. Funciona como um juiz invisível, determinando discretamente a facilidade com que um sistema lida com multitarefas e acesso aleatório a dados. Compreender o IOPS ajuda-nos a ver para além das alegações de marketing e a compreender verdadeiramente a natureza do desempenho dos dispositivos de armazenamento.
oscoo análise aprofundada dos iops artigo header img Uma análise aprofundada dos IOPS

O que é IOPS?

IOPS significa Input/Output Operations Per Second (Operações de entrada/saída por segundo). É uma métrica de desempenho central que mede quantas leitura/escrita comandos que um dispositivo de armazenamento pode processar por segundo. Uma analogia simples: imagine que um dispositivo de armazenamento é um balcão de banco. O IOPS não mede a quantidade de dinheiro que passa pelo balcão num minuto, mas sim quantas transacções são processadas nesse minuto - quer sejam depósitos, levantamentos ou transferências, cada uma conta como uma operação. Portanto, o IOPS mede principalmente a capacidade de processamento ou a eficiência de resposta de um sistema de armazenamento, concentrando-se na freqüência das operações e não na quantidade de dados movidos por operação. Quer se trate da leitura de um pequeno documento de poucos KB a partir de um SSD rápido ou da escrita de um grande ficheiro de vários GB num disco rígido tradicional, cada pedido independente de leitura/escrita pode ser contabilizado para IOPS. Compreender que o IOPS se centra no número de operações, e não no volume de dados, é o primeiro passo para compreender corretamente o seu significado.

Porque é que o IOPS é importante?

A importância do IOPS resulta de uma mudança fundamental na forma como os ambientes informáticos modernos funcionam. A utilização inicial do computador era relativamente simples, envolvendo frequentemente uma tarefa importante de cada vez, como ler ou escrever um grande ficheiro sequencial. Nesses casos, o estrangulamento do desempenho era frequentemente a velocidade de transferência de dados, ou seja, a taxa de transferência. No entanto, os sistemas operativos e as aplicações actuais estão constantemente a executar operações multitarefa altamente simultâneas. Quando abre simultaneamente um browser, software de escritório, ferramentas de comunicação e até reproduz música em segundo plano, o SO tem de lidar com um grande número de pedidos de leitura/escrita dispersos de diferentes programas.
oscoo 2b banner 1400x475 1 Um olhar aprofundado sobre IOPS
A maioria desses pedidos é distribuída aleatoriamente em vários locais do dispositivo de armazenamento, e não de forma seqüencial e ordenada. É como um centro de tráfego movimentado: o mais importante não é o limite de velocidade máxima numa única faixa, mas a capacidade do centro de lidar com o fluxo de tráfego de todas as direcções - quantos veículos podem passar pelo cruzamento por segundo sem congestionamento. A alta capacidade de IOPS garante que, ao enfrentar esse acesso massivo, aleatório e simultâneo a dados, o dispositivo de armazenamento possa responder rapidamente a cada solicitação. Isto faz com que vários programas pareçam funcionar sem problemas em simultâneo, sem atrasos no sistema causados pela sobrecarga da unidade de armazenamento. Assim, nas aplicações diárias dominadas por operações de leitura/escrita aleatórias, o IOPS elevado determina diretamente a capacidade de resposta do sistema e a suavidade da experiência do utilizador.

O que é que o IOPS mede especificamente?

Para compreender com exatidão o IOPS, é fundamental distingui-lo de outra métrica comum - o débito, frequentemente designado por velocidade de transferência (MB/s). O IOPS centra-se no número de operações de leitura/escrita independentes que o dispositivo de armazenamento pode executar por segundo, medindo a sua capacidade para processar tarefas discretas. A taxa de transferência centra-se na quantidade total de dados transferidos com êxito por unidade de tempo, medindo a largura de banda do fluxo de dados. A relação entre eles é afetada por um fator-chave: o tamanho do bloco de dados solicitado por operação de leitura/escrita. Há uma conversão simples:
Velocidade de transferência (MB/s) ≈ IOPS × Tamanho do bloco (normalmente em KB) / 1024
Isto significa que, para um IOPS fixo, o tamanho do bloco de dados determina diretamente a velocidade de transferência. Por exemplo, um dispositivo de armazenamento com capacidade para 10.000 IOPS. Ao lidar com pequenos blocos de dados típicos de 4KB, a sua velocidade de transferência é de aproximadamente 10.000 × 4KB / 1024 ≈ 39 MB/s. Esta velocidade não parece rápida. No entanto, quando o mesmo dispositivo lida com blocos grandes de 1MB, a sua velocidade torna-se 10.000 × 1MB / 1024 ≈ 9,8 GB/s, uma velocidade muito impressionante. Este exemplo mostra claramente que IOPS elevados não significam necessariamente velocidades de transferência rápidas para ficheiros grandes. Por outro lado, um dispositivo com velocidades de leitura/escrita sequenciais muito elevadas pode ter IOPS baixos quando lida com ficheiros pequenos e maciços, o que leva a um fraco desempenho. Por conseguinte, discutir o IOPS ou a velocidade de transferência isoladamente, sem considerar o tamanho do bloco e os padrões de acesso, é incompleto.

Como é testado o IOPS?

O valor de IOPS não é um número fixo absoluto; depende muito das condições de teste. Para obter dados de IOPS significativos ou compreender corretamente as especificações publicadas pelo fornecedor, precisamos de conhecer os principais parâmetros de teste. (PS: Os testes requerem ferramentas de benchmark especializadas, como o CrystalDiskMark para utilizadores gerais, ou ferramentas de linha de comandos mais poderosas e flexíveis, como o FIO).
Os principais parâmetros a definir são o tipo de leitura/escrita e o tamanho do bloco.
  • Tipos de leitura/escrita. Existem dois tipos principais: Sequencial e Aleatório. A leitura/escrita sequencial simula a leitura/escrita de um único ficheiro grande, como a cópia de um filme. A leitura/escrita aleatória simula um SO ou uma base de dados em execução, que necessita de ler/escrever frequentemente muitos ficheiros pequenos espalhados pelo disco - um teste importante para o desempenho do armazenamento.
  • Tamanho do bloco. 4KB é quase o padrão predefinido para os benchmarks da indústria. Isto deve-se ao facto de as estruturas modernas do sistema de ficheiros do SO e a maioria dos pedidos de E/S gerados por aplicações girarem em torno do tamanho de página de 4KB. A utilização de um tamanho padrão permite uma comparação fácil entre dispositivos. Por conseguinte, a métrica "IOPS de leitura/escrita aleatória" comummente vista, salvo especificação em contrário, refere-se normalmente ao valor medido com um tamanho de bloco de 4KB.
Outro parâmetro importante é a profundidade da fila (QD), que pode ser considerada como o número de comandos que o sistema envia simultaneamente para o dispositivo de armazenamento. Uma profundidade de fila maior utiliza melhor o potencial de processamento paralelo do controlador de armazenamento. Por exemplo, uma análise de um SSD NVMe empresarial de alto desempenho pode indicar: "IOPS máximo de leitura aleatória (4KB, QD=32) atinge 1 milhão". Esse número pode ser dezenas de vezes maior do que o IOPS medido em QD=1, mostrando o desempenho máximo do dispositivo sob carga simultânea pesada.
Finalmente, um conceito crucial é distinguir entre desempenho de pico e desempenho em estado estável. Muitos testes mostram, por defeito, o desempenho de pico sob um stress curto e elevado, em que a cache SLC da SSD não está esgotada, produzindo resultados impressionantes. Mas uma métrica mais importante é o desempenho em estado estável: o nível em que o desempenho se estabiliza após uma atividade de leitura/gravação intensa e prolongada. Isto reflecte melhor o verdadeiro desempenho do dispositivo sob carga extrema e estabilidade a longo prazo.

Principais factores que afectam o IOPS

O desempenho de IOPS de um dispositivo de armazenamento não é determinado por um único fator, mas pelo efeito combinado de hardware e software subjacentes. Os principais factores de influência incluem:
  1. Tipo de suporte de armazenamento. Este é o fator mais fundamental. O IOPS do HDD é limitado pelo tempo de busca físico da cabeça de leitura/gravação, que normalmente é de apenas 200. Os SSDs utilizam sinalização eletrónica, eliminando o atraso mecânico, atingindo assim dezenas de milhares a milhões de IOPS.
  2. Interface e protocolo. A interface é o caminho dos dados; o protocolo é a regra de comunicação. A interface SATA e o protocolo AHCI foram concebidos para a era dos HDD; a sua largura de banda e eficiência de comando limitam o desempenho dos SSD. O protocolo NVMe com interface PCIe proporciona elevada largura de banda e baixa latência, tendo sido concebido especificamente para SSD de elevado número de IOPS.
  3. Algoritmos de controlador e firmware. O controlador é o cérebro do dispositivo de armazenamento. Um chip controlador potente pode gerir eficazmente pedidos simultâneos em filas de espera elevadas. Os algoritmos de firmware avançados optimizam os processos de leitura/escrita, a recolha de lixo e o nivelamento do desgaste, determinando diretamente os picos de IOPS e a estabilidade.
  4. Tipo de leitura/escrita. Normalmente, o IOPS de leitura é superior ao IOPS de escrita. Especialmente nos SSD, as gravações podem exigir primeiro um passo de apagamento, o que faz com que os IOPS de gravação aleatória sejam frequentemente o estrangulamento do desempenho e um indicador-chave da qualidade geral da conceção da unidade.
  5. Profundidade da fila. Como mencionado nos testes, profundidades de fila mais elevadas exploram melhor o potencial de processamento simultâneo do hardware. Por conseguinte, suportar profundidades de fila elevadas é um requisito básico para que o hardware atinja IOPS elevados.

Relação entre IOPS e outras métricas de desempenho

Para avaliar plenamente o desempenho do armazenamento, não se deve olhar para o IOPS isoladamente, mas combiná-lo com outras métricas, como a latência e a taxa de transferência. Estas formam um quadro de desempenho interligado.
  • IOPS vs. Latência. Esta é a relação principal. A latência mede o tempo necessário para concluir uma operação de E/S. O ideal é um IOPS elevado com baixa latência. Mas quando a carga aumenta e o IOPS se aproxima do limite do dispositivo, os pedidos ficam em fila e a latência aumenta significativamente. Por conseguinte, um IOPS elevado só tem valor prático se for acompanhado por uma latência baixa; caso contrário, é como uma portagem congestionada - o total de veículos que passam pode ser elevado, mas o tempo de espera de cada veículo é longo.
  • IOPS vs. taxa de transferência:Estão ligados pelo "tamanho do bloco" através da fórmula: Taxa de transferência ≈ IOPS × Tamanho do bloco. Os seus objectivos são diferentes: Um IOPS elevado é essencial para aplicações que envolvam a leitura/escrita aleatória de pequenos ficheiros maciços, enquanto um débito elevado beneficia a leitura/escrita sequencial de ficheiros grandes. Um bom dispositivo de armazenamento deve ter um bom desempenho em ambos os modos.
  • IOPS e QoS (Qualidade de serviço):Em cenários avançados, o IOPS médio não é suficiente; a QoS é importante. A QoS concentra-se na estabilidade de IOPS e latência, garantindo que os tempos de resposta sejam previsíveis para a grande maioria dos pedidos. Uma métrica fundamental é a latência de cauda, garantindo que 99,9% ou mesmo 99,99% dos pedidos de E/S tenham latência abaixo de um determinado limite. Isso evita que algumas solicitações muito lentas afetem a experiência geral, o que é crucial para bancos de dados, virtualização e outras tarefas críticas.

Significado prático de IOPS em diferentes cenários

A importância do IOPS varia consoante o cenário da aplicação. Compreender as diferentes necessidades ajuda a fazer melhores escolhas de armazenamento.
  • Informática de consumo/pessoal:Aqui, a experiência do utilizador depende muito do IOPS de leitura aleatória do dispositivo de armazenamento. IOPS de leitura aleatória elevados reduzem significativamente os tempos de arranque do SO, aceleram o carregamento de aplicações (browsers, suites de escritório) e reduzem a gaguez durante o carregamento de níveis de jogos. Para a maioria dos utilizadores, um SSD SATA ou um SSD NVMe de nível básico com bom desempenho de leitura aleatória oferece uma melhoria transformadora.
  • Servidores e bases de dados empresariais. Este é um dos cenários mais exigentes em termos de IOPS, requerendo especialmente IOPS de leitura/escrita aleatória elevados e uma latência muito baixa. Os sistemas de gestão de bases de dados (por exemplo, Oracle, MySQL) que processam transacções em linha necessitam de ler/escrever instantaneamente vários pequenos blocos de dados dispersos. As plataformas de virtualização (por exemplo, VMware) que executam várias VMs em simultâneo geram cargas de E/S densas e aleatórias. Aqui, a estabilidade e a consistência de IOPS (QoS) são muitas vezes mais importantes do que o desempenho máximo, uma vez que qualquer flutuação pode causar diretamente uma interrupção da atividade.
  • IA e análise de grandes volumes de dados:Estes cenários têm necessidades complexas, muitas vezes exigindo uma combinação de alto rendimento e alto IOPS. Durante a fase de preparação de dados para a formação de modelos de IA, a leitura rápida de um grande número de ficheiros de amostras de formação (frequentemente muitos ficheiros pequenos) requer IOPS elevados. Durante o processo de treinamento real, ele tende a ler sequencialmente grandes lotes de dados, onde a alta taxa de transferência de leitura sequencial se torna fundamental. As SSDs NVMe de alto desempenho, mesmo as arquitecturas NVMe-oF, são, portanto, preferidas nestes domínios.

Limitações de IOPS

Embora o IOPS seja uma métrica de desempenho de armazenamento importante, confiar demais nele ou vê-lo isoladamente pode ser enganoso. Temos de reconhecer as suas limitações para evitar a armadilha dos "números apenas".
  • Pico vs. Mundo real:Um único número elevado de IOPS nem sempre equivale a uma excelente experiência do utilizador no mundo real. Os números de IOPS do fornecedor são frequentemente picos de desempenho medidos em condições ideais de laboratório (por exemplo, profundidade de fila elevada, teste curto). Isto é difícil de replicar na utilização diária, onde as operações do utilizador se assemelham a profundidades de fila baixas, e o IOPS pode ser muito inferior. Uma unidade que ofereça IOPS estáveis e de baixa latência em profundidades de fila baixas é muitas vezes melhor do que uma que apenas regista números elevados em profundidades de fila elevadas.
  • Oculta a variação da latência. O IOPS, como média, não pode revelar a distribuição da latência para pedidos de E/S individuais. Conta o total de operações por segundo, mas não mostra se existem alguns pedidos extremamente lentos misturados. Estes pedidos de alta latência, a "latência de cauda", apesar de serem poucos, podem causar interrupções na aplicação ou timeouts na base de dados. Para aplicações que requerem consistência suave, garantir que 99,9% dos pedidos estão abaixo de um determinado limite de latência é muito mais importante do que perseguir um número médio elevado de IOPS.
  • Sustentabilidade do desempenho. Os testes IOPS padrão muitas vezes não reflectem a estabilidade do desempenho sob carga elevada prolongada. Muitas SSDs utilizam uma cache SLC para manter velocidades muito elevadas no início; quando a cache se esgota, as velocidades de escrita podem cair significativamente. Por conseguinte, o "desempenho em estado estacionário" da unidade após uma escrita sustentada durante dezenas de minutos ou horas é mais significativo do que o "desempenho máximo" dos primeiros segundos. Além disso, o IOPS em si não diz nada sobre a segurança dos dados ou a resistência da unidade; uma unidade de IOPS elevado pode ter erros de firmware ou uma vida útil curta.

Como visualizar corretamente o IOPS?

  1. Primeiro o cenário. Antes de avaliar qualquer métrica, defina o seu caso de utilização principal. Para tarefas de consumo (trabalho de escritório, navegação na Web, jogos), um SSD SATA ou SSD NVMe de nível básico com IOPS na faixa de dezenas a centenas de milhares (por exemplo, 100k-500k IOPS de leitura aleatória) já proporciona uma experiência muito tranquila. A busca cega por milhões de IOPS oferece uma melhoria mínima percetível. Por outro lado, para cenários empresariais (bases de dados, virtualização, HPC), escolha SSDs empresariais com IOPS estáveis de centenas de milhares ou milhões+, com ênfase na baixa latência.
  2. Consideração global. Nunca olhe apenas para o número de IOPS; combine-o com outras métricas e factores.
    • IOPS com Latência: Uma unidade com 800k de IOPS de leitura aleatória com uma latência média inferior a 0,1ms será significativamente melhor do que uma com 1M de IOPS mas 1ms de latência.
    • Concentre-se no estado estável: Nas análises profissionais, o desempenho de uma unidade pode cair de um pico de 500k IOPS para 150k IOPS estáveis após 30 minutos sob carga total. Este "valor estável" é mais importante do que o pico.
    • Considere a resistência e a garantia: Verifique sempre o período de garantia e a classificação TBW (Total Bytes Written). Por exemplo, a garantia de um SSD de 1 TB pode ser de 5 anos ou 600 TBW, o que diz mais sobre a fiabilidade a longo prazo do que apenas o número de IOPS.
  1. Seja racional em relação aos parâmetros de referência. As pontuações de benchmark são ferramentas de referência importantes, não normas absolutas. Ajudam a restringir rapidamente as escolhas, por exemplo, comparando o IOPS de diferentes modelos de SSD com o mesmo preço e com parâmetros de teste idênticos. Mas a decisão final também deve ter em conta as opiniões dos utilizadores relativamente ao desempenho real ao longo do tempo, os relatórios de taxas de falha e a reputação da marca, uma vez que estes reflectem o comportamento geral do produto no mundo real.
No mundo do desempenho do armazenamento, o IOPS é uma métrica central vital que revela a capacidade básica de um dispositivo para processar pedidos simultâneos. No entanto, como já vimos, é apenas uma peça do puzzle. A verdadeira avaliação do desempenho exige que se olhe para além de um único número para um quadro mais alargado. A essência do armazenamento de alto desempenho reside num equilíbrio fino entre várias dimensões. Para além do IOPS, a latência determina a capacidade de resposta, o débito afecta a eficiência da transferência de grandes volumes de dados e a estabilidade a longo prazo é fundamental para a continuidade da atividade. Essas métricas estão interconectadas; uma fraqueza em qualquer uma delas pode se tornar um gargalo na experiência do mundo real. Para os utilizadores, ver racionalmente o IOPS e concentrar-se no desempenho geral sob cargas reais é a chave para selecionar e avaliar dispositivos de armazenamento.
Deslocar para o topo

Contacte-nos

Preencha o formulário abaixo e entraremos em contacto em breve.

Formulário de contacto Produto