quarta-feira, 18 de março de 2015

O que é e como calcular IOPS

O que são IOPS?

É o número de operações por segundo que um disco individual consegue chegar. Por exemplo, um disco SAS de 10K consegue em média 140 IOPS.

Esta velocidade é padrão na indústria com variações entre modelos, mas podemos ter uma base do que é aceitável e o fabricante do disco poderá lhe informar este número com precisão para cada modelo.

Note que a diferença é muito grande, principalmente levando em conta os novos discos SSD. Por exemplo, o disco X25-E da Intel chega a números 30 vezes maiores que os discos SAS e SATA.

Porque o IOPS é tão importante?

Esta pergunta é óbvia, mas a explicação pode não ser tão simples, pois na maioria dos casos temos a tendência de minimizar a questão alegando que uma lentidão se deve ao “desempenho da aplicação” ou “percepção do usuário”, quando na verdade pode impactar diretamente no funcionando de um aplicativo, em alguns casos até inviabilizando uma implementação.

Por exemplo, um ambiente Exchange 2003 com 2 mil caixas de correio precisa de 1,5 mil IOPS, e este número não é fácil de alcançar. O SQL Server para um banco de dados do SharePoint precisa de 5 mil IOPS para funcionar.

Como calcular o IOPS?

Multiplique o total de discos pelo tipo de RAID e conseguirá o seu número. Segue alguns exemplos:

  • O RAID 1, RAID 10 ou RAID 0 irá lhe proporcional o maior numero de IOPS possível, mas consome espaço adicional uma vez que trabalha em espelhamento
  • No RAID 5 o calculo leva em conta 1 disco a menos (no RAID 50 2 discos a menos) para as paridades, aumentando o espaço disponível ao mesmo tempo em que ganhamos performance

Como conseguir o maior IOPS possível com maior capacidade?

Temos três formas de fazer isso:

  • Utilize discos de alto desempenho, como os SAS de 15K ou o SSD, porem são mais caros e no caso do SSD de tamanhos de apenas 32GB a 300GB
  • Utilize o tipo de RAID apropriado para o desempenho e não visando o tamanho desejado como é comum, o que muitas vezes implica em utilizar RAID 10 para ter o desempenho total necessário ao invés de RAID 50. Perderíamos em capacidade total disponível, mas ganhamos em desempenho
  • Compre um storage que permita LUNs virtuais, ou seja, ele aloca os dados nos discos conforme a necessidade deste dado e não necessita dizer o tipo de RAID

O que são as LUNs virtuais?

Não vamos entrar no ponto técnico já que este é bem mais complexo, porem podemos entender o que é esta nova tecnologia sem nos tornarmos especialistas em storage.

Usando os storages mais comuns do mercado trabalhamos com LUNs da forma normal que conhecemos. Você indica que os discos X a Y formam o RAID 0, de Z a W o RAID 5 e assim por diante. Ou seja, mapeamos diretamente os discos e ficamos dependentes da capacidade de IO individual de cada um.

Nas novas linhas de storage podemos definir o tamanho da LUN sem indicar os discos e o próprio storage irá alocar automaticamente os dados mais acessados nos discos mais rápidos!

Os novos storages vendidos pela Dell, EMC, IBM e outros fabricantes são inteligentes e permitem misturar os discos. Por exemplo, posso colocar discos SSD na gaveta do storage e mais uma gaveta adicional com 24 discos de 15K SAS e não me preocupar se a LUN que criei está nos discos mais performáticos, quem fará este trabalho é o storage.

E, o mais interessante, quando o storage “perceber” que determinado dado (LUN) é mais acessado que outro ele irá realocar esta LUN para os discos mais rápidos e fazer o shift dos dados sem intervenção e queda de performance, já que trabalha em background e automático!

Referencias

Como calcular IOPS para Exchange 2003 http://technet.microsoft.com/en-us/library/bb125019(EXCHG.65).aspx

Como calcular IOPS para Exchange 2010 http://technet.microsoft.com/en-us/library/ee832791.aspx

Como calcular IOPS para o SQL do SharePoint 2010 http://technet.microsoft.com/en-us/library/cc298801.aspx

Utilitário para medir IOPS para o SQL Server (SQLIO) http://www.microsoft.com/download/en/details.aspx?displaylang=br&id=20163

 

0 comentários:

Postar um comentário