Soluções para sua empresa não parar!

Contato: 11-9-5637-8162

Email: atendimento@storagenasbrasil.com

O que é IOPS em HDD e storages?

IOPS, no contexto de soluções de armazenamento, é a sigla para “Input and Output per second”, que podemos traduzir para Entrada e saída por segundo.

Em resumo, é um numero estimado da quantidade de requisições por segundo que um HDD, SSD ou sistema de armazenamento (Storage) é capaz de entregar ou suportar.

hdd-ssd-storage-picture

É uma métrica de vital importância para sistemas de armazenamento operando em Data Centers, pois o mau dimensionamento do storage em IOPS irá com certeza causar prejuízos financeiros e operacionais para empresa.

Por que se preocupar com os IOPS?

Vamos comparar o uso do HDD em um ambiente doméstico com um ambiente corporativo:

Quando usamos nosso pc ou notebook em casa, para entretenimento, navegar na internet, facebook e coisas equivalentes,

o HDD que existe dentro de nossos PCs e notebooks recebe pouquíssimas requisições, chegando a ficar boa parte do tempo em modo de descanso ou stand-by.

Já em uma empresa com 50 funcionários, o HDD do servidor do banco de dados, recebe requisições de 50 usuários ao mesmo tempo durante 8 horas consecutivas ou mais.

Portanto o HDD desse servidor irá precisar suportar um número maior de requisições por segundo, caso contrário a experiência de cada um dos 50 funcionários será de lentidão e perda de produtividade.

Situação que gera transtornos como prejuízos financeiros, pouca produtividade, estresse dos funcionários e por aí vai.

Como dimensionar IOPS corretamente?

Para dimensionar corretamente o armazenamento para operações com banco de dados, máquinas virtuais, servidor de arquivos e demais aplicações é necessário entender e conhecer qual o número de IOPS que cada tecnologia de armazenamento suporta ou alcança,

Não é comum que os fabricantes de HDD informem no datasheet o número de IOPS que o HDD suporta, já para SSD é muito comum que os fabricantes informem o número de requisições por segundo.

No caso do tradicional HDD mecânico é possível termos uma estimativa do número de IOPS baseado em uma especificação chamada “average seek time”, “Latency” ou “Average Latency”.

Vejamos algumas especificações da Seagate (Principal fábrica do mundo de HDD e SSD):

Datasheet Seagate EXOS X18!

average-latency-hdd-seagate-exos-x18

A figura acima é um trecho das especificações dos HDD da linha Enterprise da Seagate, mais especificamente da linha Exos X18.

Podemos ver por estas especificações, que tanto para o barramento SATA quanto para o barramento SAS o valor do tempo de taxa média de latência (Average Latency) é de 4,16 milissegundos.

Isso significa que para atender uma requisição de leitura ou escrita, estes modelos de HDD demoram 4,16 milissegundos.

Baseado neste tempo, podemos realizar a seguinte operação para obtermos uma estimativa do número de requisições por segundo que o HDD alcança:

1 segundo divido por 4,16ms sendo 4,16ms o equivalente a 1 requisição.

1s / 0,00416s = 240,384 Requisições por segundo;

Pela operação acima, podemos considerar que esta linha de HDD alcança cerca de 240 requisições por segundo, este não é um valor exato, pois é da natureza do HDD eletromecânico sofrer variações, mesmo que seja na casa dos milésimos de segundo.

A partir do momento em que trabalhamos com a Tecnologia RAID , utilizando arranjos de discos com 5 ou mais HDD como esses, o número alcançado de requisições por segundo aumenta consideravelmente, pois a carga de requisições será distribuída entre todos os HDD do Arranjo.

IOPS VS THROUGHPUT

Enquanto IOPS são requisições por segundo, o throughput é a taxa de transferência que o HDD, SSD ou Storage é capaz de alcançar.

O throughtput é medido em Bytes por segundo se utilizando normalmente as potências de 10 como Kilo, Mega e Giga onde obtemos X Kilobytes por segundo representado na forma KB/s, X Megabytes por segundo (MB/s) e X Gigabytes por segundo (GB/s).

A taxa de transferência não depende somente do dispositivo de armazenamento, mas também de conexões e a infraestrutura envolvida, porém os HDD e SSD, as Conexões de Rede e Fibre Channel por exemplo,

possuem normalmente a especificação do throughtput máximo ou médio definidos, informado pelo fabricante.

Vejamos um exemplo de throughput dos HDD EXOS x18 da Seagate:

Datasheet oficial da seagate!

throughput-seagate-exos-x18

Podemos ver na documentação da Seagate que os 5 modelos de HDD acima alcançam uma taxa de transferência sustentada de 270 MB/s.

Isso significa que no período de 1 segundo estes modelos de HDD conseguem gravar 270 Megabytes ou ler 270 Megabytes.

Portanto em 1 minuto será possível ler ou gravar 16,2 GB que é o resultado de 270MB/s multiplicado por 60 segundos.

O que em 1 hora inteira resultaria na leitura ou gravação de 972GB, aproximadamente 1TB.

OBS: Não significa ler e gravar ao mesmo tempo.

Isso referente a taxa que o HDD alcança, mas existem outros fatores que impactam na taxa de transferência.

Como uma cópia de dados realizada por rede de 1Gb/s, nesse caso o throughtput máximo da rede é de 125 MB/s, cerca de metade da taxa de transferência do HDD.

Portanto uma cópia nessa estrutura estaria limitada a velocidade da rede.

A estrutura de dados também tem forte impacto na taxa de transferência.

Existe grande diferença em copiar milhões de pequenos arquivos onde cada arquivo possui cerca de 10 KB.

considerando uma situação em que temos 200MB total de tamanho para 20.000 arquivos de 10KB.

Comparado a cópia de um único arquivo de 10GB.

Nos cenários citados acima, a cópia do arquivo único de 10GB terá uma taxa de transferência maior.

Isso por que existe um limite de requisições por segundo que o HDD consegue atender, portanto se temos 20.000 arquivos e o HDD consegue gravar cerca de 200 arquivos por segundo, teremos:

200 arquivos multiplicando 10KB = 2000KB/s ou 2 MB/s, taxa essa bem menor que os 125MB/s da rede de 1GbE e dos 270MB/s de throughtput que o HDD alcança, isso por que o HDD ficou limitado pelo numero máximo de requisições por segundo e não pela taxa de transferência.

IOPS em SSD

Já os SSD, suportam número de IOPS e também de throughput mais elevado em comparação aos Hard disks eletromecânicos,

usando o mesmo barramento SATA III de 6Gb/s.

Vejamos a especificação de um SSD SATA Ironwolf da Seagate:

Datasheet oficial da seagate!

iops-throughput-seagate-ssd-ironwolf-125

Na imagem acima podemos visualizar que tanto o numero de IOPS quanto o throughput do SSD é muito maior que em um HDD mecânico.

Segue comparativo:


Autor: Thiago Bastos

author-thiago-bastos

Sobre o autor:

Thiago Bastos é especialista em soluções de armazenamento de dados e atua há mais de 12 anos realizando estruturação e implantação de soluções armazenamento para operações como Backup, Virtualização, Servidor de arquivos, CFTV, produção de vídeo entre outras.

Atua com fornecimento, treinamento e implantação de storages NAS QNAP, Synology e Asustor desde 2010, além de storages dos tipos DAS e SAN de diversos fabricantes.