Armazenamento

O que é IOPS?

Também conhecido como: input/output operations per second
Definição

IOPS measures how many individual read or write operations a storage device completes per second. Random 4K IOPS at a queue depth of one is the number that predicts database behaviour; sequential throughput is the number that appears in marketing.

Porque é que IOPS importa

IOPS aleatórias de 4K com profundidade de fila de um é o número que prevê o comportamento de bases de dados; débito sequencial é o número que aparece em marketing.

IOPS na prática

Quando executa um servidor de verdade, os IOPS são o que observa quando as consultas abrandam. Analisa a latência de leitura aleatória de 4K da sua base de dados e vê se o disco é o gargalo. Se for, muda para NVMe ou adiciona mais discos. Se ignorar, a sua aplicação arrasta-se sob carga, e cada consulta lenta custa-lhe utilizadores. Pode alterar a sua configuração de armazenamento, mas não é instantâneo: descer um nível exige uma reconstrução, e NVMe adicional liga-se como segundo dispositivo de bloco. Se errar, o seu servidor parece rápido nos testes, mas colapsa em produção.

O que se costuma entender mal sobre IOPS

O equívoco é que IOPS seja um número fixo. Não é; depende da profundidade da fila e do tamanho do bloco. Um disco pode reivindicar IOPS elevados em profundidades de fila altas, mas o que importa para bases de dados é 4K aleatório numa profundidade de fila de um. A correção: se comparar armazenamento com base em números de marketing, escolherá o dispositivo errado. Olhe para o valor de profundidade de fila um.

IOPS — perguntas frequentes

Que profundidade de fila devo usar para testar IOPS?

Para cargas de trabalho de bases de dados, use uma profundidade de fila de um. Esse é o número que prevê o comportamento real porque a maioria das consultas OLTP emite leituras individuais e independentes. Profundidades de fila mais altas podem inflacionar os números de IOPS, mas não refletem como a sua base de dados realmente acede ao disco.

Como é que IOPS difere de taxa de transferência?

IOPS conta operações individuais por segundo; a taxa de transferência mede bytes por segundo. Uma transferência sequencial como uma cópia de segurança pode alcançar alta taxa de transferência mas baixos IOPS, enquanto uma base de dados faz muitas leituras aleatórias pequenas, então IOPS importa mais. O marketing frequentemente cita o número sequencial.

Mais de armazenamento

NVMe
NVMe é um protocolo de armazenamento que liga unidades de estado sólido diretamente sobre PCIe, atingindo aproximadamente 500 000 IOPS aleatórios com latência abaixo de 100 microssegundos.
RAID 10
RAID 10 espelha dados em pares de discos e distribui (striping) através dos espelhos, dando redundância e alto desempenho ao custo de metade da capacidade bruta.
Instantâneo
Um instantâneo é uma cópia pontual de um disco de máquina virtual, criada instantaneamente e armazenada na mesma infraestrutura.