Armazenamento
O que é IOPS?
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.
Onde IOPS surge
- Quão mais rápido é o NVMe do que o SSD SATA? Cerca de cinco vezes mais IOPS aleatórios — aproximadamente 500.000 contra 90.000 — e cerca de cinco vezes menos latência, abaixo de 0,1 ms contra cerca de…
- NVMe vs SSD vs HDD para um VPS O NVMe atinge cerca de 500.000 IOPS aleatórios com latência inferior a 100 microssegundos; um SATA SSD gere cerca de 90.000 IOPS; um HDD de 7.200 RPM gere …
- Como faço um benchmark de um VPS? Meça as três coisas que realmente variam: CPU single-thread com o sysbench, disco com o fio em leitura/escrita aleatória de 4K, e rede com o iperf3 para um…
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.