Como calcular a performance de um grupo de discos?
Como calcular a performance de um grupo de discos com RAID e IOPS — as métricas que importam, a write penalty de cada nível e uma conta de dimensionamento passo a passo.

Calcular a performance de um grupo de discos é, no fundo, uma conta de IOPS: você parte do IOPS que cada disco entrega, aplica a write penalty do nível RAID sobre as escritas da sua carga e descobre quantos discos precisa para sustentar o desempenho exigido — capacidade utilizável e tolerância a falhas entram depois, como consequência do arranjo escolhido.
O erro clássico é dimensionar storage só pela capacidade em terabytes, ou confundir métricas que medem coisas diferentes. O caminho para acertar segue etapas bem definidas:
Três métricas que não se confundem
Antes de qualquer cálculo, vale separar as três métricas que descrevem o desempenho de um disco ou arranjo. Elas medem coisas distintas, e trocar uma pela outra leva a dimensionamentos errados.
- IOPS (Input/Output Operations Per Second): quantas operações de leitura ou escrita o storage executa por segundo. Manda em bancos de dados, VMs e aplicações transacionais, com muitas operações pequenas e aleatórias. Um HDD entrega, na prática, de poucas dezenas a cerca de 200 IOPS aleatórios, conforme o RPM e o padrão de acesso; SSDs SATA e NVMe operam em ordens de grandeza maiores, das dezenas de milhares ao patamar do milhão nos modelos de ponta.
- Throughput (MB/s): o volume de dados transferido por segundo. Importa em I/O sequencial grande — backup, transferência de arquivos, streaming de vídeo, big data. HDDs sequenciais ficam na casa das centenas de MB/s; SSDs NVMe modernos alcançam vários GB/s.
- Latência (ms/µs): o tempo de resposta de uma única operação. HDDs respondem em alguns milissegundos (o seek mecânico); SSDs caem para frações de milissegundo e o NVMe chega aos microssegundos. Cargas sensíveis à latência, como OLTP, se beneficiam muito do NVMe.
A regra prática: IOPS para I/O aleatório, throughput para I/O sequencial, latência para tempo de resposta. Um arranjo pode ter IOPS alto e mesmo assim sofrer com latência sob carga pesada.
RAID: como os discos trabalham juntos
RAID (Redundant Array of Independent Disks) combina múltiplos discos em um único volume lógico, com trade-offs diferentes entre performance, capacidade e redundância. O que muda de um nível para outro é como leitura, escrita e paridade se distribuem — e isso determina o desempenho do conjunto. Nas fórmulas abaixo, N é o número de discos e IOPS é o IOPS de um único disco.
- RAID 0 (striping): dados fatiados por todos os discos, sem redundância. Leitura e escrita escalam com N (N× IOPS em ambos); capacidade utilizável = N. Se um disco falhar, perde-se tudo. Uso: cache e dados descartáveis onde só a velocidade importa.
- RAID 1 (mirroring): cada disco tem uma cópia idêntica. A leitura pode ser distribuída entre os espelhos (até N×); a escrita vai para todos os espelhos, então o arranjo entrega (N × IOPS) / 2 — em um par de 2 discos, isso equivale ao IOPS de um disco. Capacidade utilizável = N/2. Uso: volumes de boot e sistema operacional.
- RAID 5 (striping com paridade): um bloco de paridade por stripe, rotacionado entre os discos; tolera a falha de 1 disco, mínimo de 3. Leitura escala em (N-1)×. A escrita entrega (N × IOPS) / 4, porque cada escrita do host gera quatro operações no backend: ler o dado antigo, ler a paridade antiga, escrever o dado novo e escrever a paridade nova. Capacidade utilizável = (N-1).
- RAID 6 (dupla paridade): dois blocos de paridade; tolera a falha de 2 discos, mínimo de 4. Leitura em (N-2)×; a escrita entrega (N × IOPS) / 6, porque a dupla paridade impõe seis operações de backend por escrita. Capacidade utilizável = (N-2).
- RAID 10 (mirror + stripe): pares espelhados agrupados em stripe, mínimo de 4. Leitura em N×; escrita em (N × IOPS) / 2 = (N/2)×. Capacidade utilizável = N/2. É o favorito para produção transacional.
RAID 5 com HDDs grandes (8 TB ou mais) pode ser arriscado: o rebuild após uma falha leva muitas horas ou dias, e a leitura intensiva durante a reconstrução aumenta a chance de um segundo disco falhar antes de terminar. Para discos grandes, o RAID 6 é mais seguro por tolerar duas falhas.
Write penalty: por que a escrita custa mais
O ponto que mais gente esquece ao dimensionar storage é que uma escrita do host não equivale a uma escrita no backend. Em arranjos com paridade ou espelho, cada escrita solicitada dispara várias operações de I/O nos discos. Esse multiplicador é a write penalty, e os fatores são consensuais:
| Nível RAID | Write penalty | Tolerância a falhas | Uso típico |
|---|---|---|---|
| RAID 0 | 1 | Nenhuma | Cache e dados descartáveis onde só a velocidade importa |
| RAID 1 | 2 | 1 disco (espelho) | Volumes de boot e sistema operacional |
| RAID 5 | 4 | 1 disco | NAS e arquivos de leitura predominante |
| RAID 6 | 6 | 2 discos | Arquivamento com HDDs grandes, rebuild longo |
| RAID 10 | 2 | 1 disco por par espelhado | Bancos de dados e cargas transacionais |
As leituras não têm penalidade em nenhum nível — elas apenas se distribuem entre os discos disponíveis. É a escrita que paga o preço da redundância, e é por isso que RAID 5 e RAID 6, apesar de econômicos em capacidade, sofrem em cargas com muita escrita aleatória.
A fórmula: dimensionando um arranjo por IOPS
Com a write penalty na mão, o cálculo de quantos discos você precisa fica direto. A fórmula do IOPS de backend (o esforço real que os discos precisam sustentar) é:
IOPS de backend = leituras + (escritas × write penalty)
As leituras e escritas saem da divisão do IOPS que o host exige, conforme o read/write ratio da sua carga. Um exemplo concreto: sua aplicação precisa de 1.000 IOPS de front-end, com carga de 70% de leitura e 30% de escrita, e você cogita RAID 5 com HDDs de ~150 IOPS cada.
- Leituras: 70% × 1.000 = 700 IOPS
- Escritas: 30% × 1.000 = 300 IOPS
- IOPS de backend (RAID 5, penalty 4): 700 + (300 × 4) = 700 + 1.200 = 1.900 IOPS
- Número de discos: 1.900 ÷ 150 ≈ 12,7 → 13 discos, arredondando para cima
Agora compare com RAID 10 (penalty 2) na mesma carga: o backend cai para 700 + (300 × 2) = 1.300 IOPS, ou seja, 1.300 ÷ 150 ≈ 8,7 → 9 discos, que viram 10 por o RAID 10 exigir número par. RAID 10 precisa de menos discos para o mesmo IOPS por ter metade da penalidade de escrita — mas entrega só 50% de capacidade utilizável, contra cerca de 92% do RAID 5 com 13 discos. Aí está o trade-off, em números.
Valide sempre com folga. O cálculo puro assume o mundo ideal; overhead do controlador, latência de barramento, workload misto e picos reduzem o desempenho real. Some uma margem (algo como 20% a 40%) sobre o IOPS de backend e reserve capacidade para operar durante um rebuild. Para throughput sequencial a lógica é análoga, somando as taxas em MB/s dos discos em vez do IOPS.
Tabela comparativa das configurações RAID
| RAID | Capacidade utilizável | IOPS de leitura | IOPS de escrita | Write penalty | Tolerância a falhas | Mín. discos |
|---|---|---|---|---|---|---|
| RAID 0 | 100% (N) | N× | N× | 1 | Nenhuma | 2 |
| RAID 1 | 50% (N/2) | até N× | (N × IOPS) / 2 | 2 | 1 por espelho | 2 |
| RAID 5 | (N-1)/N | (N-1)× | (N × IOPS) / 4 | 4 | 1 disco | 3 |
| RAID 6 | (N-2)/N | (N-2)× | (N × IOPS) / 6 | 6 | 2 discos | 4 |
| RAID 10 | 50% (N/2) | N× | (N/2)× | 2 | 1 por par | 4 |
Para o embasamento formal dos níveis padrão e do custo de escrita da paridade, a documentação de referência sobre RAID na Wikipédia reúne as definições e o comportamento de cada configuração.
Perguntas frequentes sobre performance de discos
Como calcular o IOPS de um arranjo RAID?
Parta do IOPS de backend necessário: some as leituras exigidas pela carga com as escritas multiplicadas pela write penalty do nível RAID (IOPS de backend = leituras + escritas × write penalty). Depois divida esse total pelo IOPS que cada disco entrega para descobrir quantos discos são necessários. Exemplo: 1.000 IOPS a 70% de leitura em RAID 5 (penalty 4) exigem 700 + 300 × 4 = 1.900 IOPS de backend; com discos de ~150 IOPS, são cerca de 13 discos, antes da folga.
O que é a write penalty do RAID?
É o número de operações de I/O que o backend precisa executar para cada escrita solicitada pelo host, por causa da leitura e do recálculo de paridade ou do espelhamento. Os fatores consensuais são: RAID 0 = 1, RAID 1 e RAID 10 = 2, RAID 5 = 4 e RAID 6 = 6. Por isso as escritas custam muito mais que as leituras em arranjos com paridade, e ignorar esse fator é o erro mais comum ao dimensionar storage.
RAID substitui o backup?
Não. O RAID protege contra a falha física de disco, mas não contra exclusão acidental, ransomware, corrupção lógica, falha do controlador ou desastre no local. Backup continua obrigatório, seguindo a regra 3-2-1: três cópias, em duas mídias diferentes, com uma fora do site. RAID é disponibilidade; backup é recuperação — são coisas distintas.
Qual nível de RAID é melhor para banco de dados?
RAID 10 é o padrão para bancos de dados relacionais, porque combina leitura rápida com a menor write penalty entre os níveis redundantes (fator 2), o que importa em cargas transacionais com muita escrita aleatória. O custo é a capacidade: só metade do espaço bruto fica utilizável. Com NVMe muito rápido, às vezes se usa RAID 1 ou RAID 10 com menos discos de ponta.
Qual a diferença entre IOPS, throughput e latência?
São três métricas distintas e não intercambiáveis. IOPS mede quantas operações por segundo o storage executa, e domina cargas de I/O pequeno e aleatório (bancos, VMs). Throughput mede o volume de dados por segundo em MB/s, e importa em I/O sequencial grande (backup, streaming). Latência é o tempo de resposta de cada operação, em milissegundos ou microssegundos. Um arranjo pode ter IOPS alto e ainda assim latência ruim sob carga.
Conclusão
Calcular a performance de um grupo de discos é unir as métricas (IOPS, throughput e latência, sem confundi-las) com a write penalty de cada nível RAID. A conta é simples: leituras mais escritas vezes a penalidade, dividido pelo IOPS de cada disco, com folga por cima. Não existe nível universalmente melhor — RAID 10 para cargas transacionais, RAID 5 ou 6 para arquivos de leitura predominante, RAID 0 para cache descartável. E, em qualquer cenário, RAID não dispensa backup.
Explore mais conteúdos sobre infraestrutura e tecnologia no Atraca para aprofundar em storage, servidores e hardware.


