Performance de Block Storage na Magalu Cloud
Introdução
Ao escolher um volume de block storage, é importante entender como métricas como IOPS, tamanho de bloco, throughput e latência impactam diretamente a performance da sua aplicação.
Esta página apresenta os conceitos principais e orienta como interpretar essas métricas para diferentes cenários de uso.
Conceitos Fundamentais
IOPS (Input/Output Operations Per Second)
Representa o número de operações de leitura e escrita por segundo.
- IOPS alto: ideal para workloads com acessos aleatórios e pequenos, como bancos de dados OLTP.
- IOPS baixo, mas com blocos grandes: mais adequado para workloads sequenciais, como streaming e backup.
Tamanho de Bloco (Block Size)
Define a quantidade de dados processada em cada operação de I/O.
- Blocos pequenos → melhor latência, mais operações.
- Blocos grandes → mais throughput (MB/s), aproveitando melhor aplicações sequenciais.
Throughput
É a taxa de transferência de dados (MB/s).
A relação básica é:
Throughput (MB/s) = (IOPS × Tamanho do bloco em KB) ÷ 1024
Latência
É o tempo médio para completar uma operação de I/O.
Latência baixa é essencial em aplicações sensíveis a tempo de resposta, como sistemas transacionais.
Profundidade de Fila (Queue Depth – QD)
Número de operações pendentes que o sistema mantém simultaneamente.
- QD baixo → baixa latência, mas pode limitar IOPS.
- QD alto → mais IOPS até o limite do hardware; após a saturação, apenas aumenta a latência.
Exemplos Práticos
- Um limite de 50.000 IOPS com blocos de 4 KB resulta em aproximadamente 195 MB/s.
- O mesmo 50.000 IOPS com blocos de 1 MB pode atingir até 50 GB/s teóricos, cenário típico apenas de NVMe de alta performance.
- Para bancos de dados OLTP, blocos de 4K ou 8K refletem melhor o comportamento real.
- Para backup e streaming, blocos grandes (≥ 1 MB) aproveitam melhor o throughput.
Como Interpretar os Resultados
- Workloads transacionais → priorize latência e IOPS.
- Workloads analíticos/sequenciais → priorize throughput em MB/s.
- Cargas mistas (ex.: bancos de dados) → analise a proporção leitura/escrita e ajuste perfis de volume.