Você sabe o que são IOPS?

em Tendências.

No ambiente corporativo moderno, os engenheiros de software são cada vez mais requisitados a adotar uma abordagem generalista de TI, incorporando conhecimentos que vão além de seu campo de atuação.

Para que as atividades continuem fluindo, essas aplicações precisam demonstrar uma alta performance. E quando um sistema falha em entregar o desempenho esperado pelo usuário, muitas vezes o problema está relacionado a falhas nos dispositivos de armazenamento.

Para aqueles que não estão habituados a lidar com o armazenamento, há uma série de conceitos a serem entendidos, inclusive o de IOPS.

Se você quer entender o que são IOPS, por que deveria conhecê-los e como calculá-los, acompanhe o post que nós preparamos para você!

O que são IOPS?

Você já se perguntou por que uma transferência de um milhão de arquivos, totalizando 10GB, é mais lenta do que se fizermos a mesma transferência com dois arquivos de 5GB? A resposta está no acesso aos dados.

IOPS, ou Input/Output Operations Per Second (em tradução livre, Operações de Entrada e Saída Por Segundo) é uma medida de performance utilizada em dispositivos de armazenamento de dados, tais como drives de estado sólido (SSD), unidades de disco rígido (HDD) e redes SAN.

Assim como a maioria dos índices de referência, o número de IOPS que os fabricantes de dispositivos de armazenamento fornecem não garante um bom desempenho das aplicações no cotidiano.

O número de IOPS pode variar bastante em qualquer configuração do sistema, dependendo do saldo de operações de leitura e escrita, do testador, do número de threads, da mistura dos padrões de acesso, bem como do tamanho dos blocos de dados do sistema de armazenamento. A latência do sistema é também um fator de peso.

Por que os IOPS são importantes para seu projeto de TI?

Essencialmente, as operações de entrada e saída por segundo indicam quantas operações de leitura e escrita o seu dispositivo é capaz de realizar por segundo. Ou seja, elas se tornam um indicativo de performance.

É comum que os novos HDDs sejam vendidos com maior capacidade de armazenamento, o que nos dá a sensação de que precisamos de menos HDDs para compor uma solução. Porém, quando um ambiente precisa de determinada performance, só é possível alcançá-la com a quantidade certa de discos.

O grande problema de performance dos drives de disco é a limitação física. Imagine um HDD girando no sentido horário e com 3 informações dispostas ao longo dele.

Para ler essa sequência de informações, o HDD precisa praticamente dar uma volta inteira. Se o HDD trabalha a 7.200 RPM e dá uma volta em cerca de 8,3ms, ele pode fazer até 120 leituras por segundo.

Contudo, como as informações ficam dispostas em diferentes extremos, pode ser que a cabeça de leitura não se movimente rápido o suficiente para ler um dos blocos, o que a obriga a fazer mais uma volta para ler o dado. Isso reduz a capacidade de leituras por segundo do dispositivo.

IOPS: uma especificação a ser avaliada dentro de um conjunto

Para descrever minimamente as características de desempenho de qualquer dispositivo de armazenamento, é preciso especificar três métricas: o tempo de resposta, a carga de trabalho e o IOPS. Na ausência de especificações sobre tempo de resposta e carga de trabalho, os IOPS não têm sentido.

É como se, isoladamente, eles fossem as “revoluções por minuto” de um motor automobilístico. Um motor que possua 10.000 RPMs em sua transmissão pouco representa valor para o usuário. Contudo, se essa mesma peça é capaz de desenvolver um torque específico e uma boa potência em um dado número de RPMs, ele consegue mostrar as suas capacidades ao público.

Devido a uma série de mal-entendidos, diversos técnicos tendem a minimizar a importância do IOPS, afirmando que a demora se deve à percepção do usuário ou à lentidão da aplicação. Uma boa gestão de TI considera que o IOPS impacta diretamente no funcionamento de um dispositivo, e pode até mesmo inviabilizar uma implementação.

Como calcular o IOPS?

O cálculo de IOPS é dado pela seguinte fórmula:

1000 / latência rotacional + latência de busca

A latência rotacional é o tempo de espera para que o disco gire até onde está o dado, e a latência de busca é o tempo de deslocamento da cabeça de leitura até o ponto onde está a informação no HD.

Em situações ideais, os dados estão alinhados, e as latências de rotação e procura diminuem. Isso aumenta a capacidade de leitura dos HDs, o que geralmente ocorre quando o HD é acessado por uma única aplicação e que tenha os dados alinhados corretamente (veja essa ilustração). Isso não costuma ocorrer em um servidor comum ou em um computador de mesa.

O que é necessário para aumentar os IOPS de um sistema de armazenamento?

Ao contrário do que se diz por aí, mais memória nos servidores ou mais cache nos HDs não resolvem a limitação física dos drives de disco, os HDDs. Por isso, vários fabricantes incluem um SSD em suas soluções para que elas atinjam a performance necessária. Para conseguir aumentar o seu IOPS, você pode:

  • usar discos de alto desempenho. Um SAS de 15K, por exemplo, é mais caro;
  • usar o tipo de RAID (Conjunto Redundante de Discos Independentes) apropriado para o desempenho. Um dos erros mais cometidos entre profissionais da área é adquirir uma unidade com RAID visando apenas o tamanho desejado;
  • adquirir um storage que permita armazenar LUNs virtuais. Isso significa que ele aloca os dados nos discos de acordo com a necessidade desse dado.

Como mostramos acima, a rapidez do disco também se deve a um fator físico. Discos de 2,5″ são mais eficientes que os maiores e com a mesma capacidade, pois a cabeça precisa se movimentar menos para passar por toda a área útil do disco. Isso pode trazer um ganho de até 30%.

Já os discos com maior capacidade (600GB, por exemplo) são mais rápidos quando usamos a mesma quantidades de dados, especialmente após uma migração. Isso porque, nessas situações, as informações posicionadas no servidor antigo são colocadas no início do HD, exigindo menos movimentos da cabeça de leitura, conforme você vê nesta ilustração.

Ao comparar discos mecânicos e drives SSD, você notará que os últimos atingem uma quantidade de IOPS muito maior. Como os drives SSD são mais caros, uma solução seria incluir HDD e SSD para balancear o espaço disponível, a performance e o custo de aquisição. Você também deve se ater ao software, que precisa ser inteligente o suficiente para mover os dados mais acessados até os discos mais rápidos, e os menos acessados para os discos de maior capacidade.

Os IOPS não são o conceito mais acessível da indústria do TI, mas são essenciais para garantir a boa performance das aplicações no cotidiano das corporações.

Quer saber mais sobre as soluções da Locaweb Corp? Acesse nosso site!