Pular para o conteúdo principal

O que é e como calcular IOPS (Exchange, SQL, SharePoint, etc) (pt-BR)


Esta pergunta é frequente, principalmente porque como consultor de soluções de um fabricante de servidores temos que saber.
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 industria 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.
Porem, note que a diferença é muito grande, principalmente levando em conta os novos discos SSD. Por exemplo, o disco X25-E da Intel (Veja o pdf com as caracteristicas emhttp://download.intel.com/design/flash/nand/extreme/extreme-sata-ssd-datasheet.pdf  ) chega a números 30 vezes maiores que certos modelos de discos SAS e SATA.
image
Porque o IOPS é tão importante?
Esta pergunta é óbvia, mas a explicação pode não ser tão simples. Acontece que na maioria dos casos temos a tendencia de minimizar a questão dizendo que é “performance” ou “percepção do usuário” mas na verdade pode impactar diretamente no funcionando de um aplicativo, em alguns casos até inviabilizando.
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 IOPS individual deles e conseguirá o seu número. Seguem alguns exemplos:
image 
O RAID 1, RAID 10 ou RAID 0 irá lhe proporcional o maior numero de IOPS possivel, já o RAID 5 o calculo leva em conta 1 disco a menos e no RAID 50 2 discos a menos para as paridades.
Como conseguir o maior IOPS possivel com maior capacidade?
Temos tres formas de fazer isso:
  1. Utilize discos de alta performance, como os SAS de 15K ou o SSD, porem são caros e no caso do SSD de tamanhos de apenas 32/50/64/100GB
  2. Utilize o tipo de RAID apropriado para a performance e não visando o tamanho desejado como muitos hoje fazem, o que muitas vezes implica em utilizar RAID 10 para ter a performance total ao invés de RAID 50, perderiamos em capacidade mas ganhamos em performance
  3. Compre um storage que trabalha com as 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 da Dell como exemplo, o MD3200i trabalha 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.
Já na série EqualLogic 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 (!!!!!!!!!!). Você deve estar achando que é brincadeira ou algo do tipo “conceito”, mas não é!!
Os novos storages vendidos pela Dell, EMC, IBM e outros 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 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 interessantes
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 a capacidade de IOPS de um determinado ambiente (SQLIO)http://www.microsoft.com/download/en/details.aspx?displaylang=br&id=20163 
Referencia do EqualLogic S6000 http://www.equallogic.com/products/default.aspx?id=9511  


Original by Marcelo Sincic - MVP Management Infrastructurehttp://www.marcelosincic.com.br  
http://twitter.com/marcelosincic 

Postagens mais visitadas