Arquivo

Archive for the ‘Azure’ Category

Azure Premium Storage… Testes com SQLIO

29 de maio de 2015 5 comentários

Fala galera, faz tempo eim?

Bom, semana passada fiz uns testes em um cliente acho que a informação vai ser útil pra vocês.

Esse é um cliente que sofria demais com a péssima performance dos discos do Azure, todo a sua infra-estrutura de banco de dados está em VMs.

Depois de aplicar várias técnicas para minimizar o custo e melhorar a performance das operações de I/O, finalmente o storage premium ficou disponível (só pra País de primeiro mundo, adivinha se tem no Brasil?…) para compra, e conseguimos migrar tudo para o novo storage. Porém ficávamos sempre com aquela dúvida, e ai, vai melhorar mesmo? Quantos %? Qual a diferença de performance dos discos? … Para responder essas nossas dúvidas e ter certeza de que o novo storage está melhor, fiz alguns testes com SQLIO e criei alguns gráficos.

Antes de te mostrar os gráficos, deixa eu mencionar algumas técnicas que usamos que ajudam a minimizar o I/O pra caso você tenha tenha tempo (a.k.a. money) de migrar para o novo storage que é claro, custa mais caro.

Segue uma lista de itens que você pode rever no seu ambiente para otimizar o I/O:

  • · Use minimum Standard Tier A2 for SQL Server VMs.
  • · Keep the storage account and SQL Server VM in the same region.
  • · Disable Azure geo-replication on the storage account.
  • · Avoid using operating system or temporary disks for database storage or logging.
  • · Avoid using Azure data disk caching options (caching policy = None).
  • · Stripe multiple Azure data disks to get increased IO throughput.
  • · Format with documented allocation sizes.
  • · Separate data and log file I/O paths to obtain dedicated IOPs for data and log.
  • · Enable database page compression.
  • · Enable instant file initialization for data files.
  • · Limit or disable autogrow on the database.
  • · Disable autoshrink on the database.
  • · Move all databases to data disks, including system databases.
  • · Move SQL Server error log and trace file directories to data disks.
  • · Apply SQL Server performance fixes.
  • · Setup default locations.
  • · Enable locked pages.
  • · Backup directly to blob storage.

Sorry o inglês, fiquei com preguiça de traduzir… ;P Peguei a lista acima do seguinte link: https://msdn.microsoft.com/en-us/library/azure/dn133149.aspx

Bom, se mesmo assim você não conseguir a performance desejada, então vai precisar migrar para os novos discos com premier. A performance foi realmente surpreendente e fez o que prometeu.

Seguem os gráficos que são bem auto-explicativos, em laranja servidor novo, em azul servidor velho:

clip_image002

IPOS foi lindo de ver… Conseguimos bater 15k por segundo, contra ridículos 1400 que estávamos executando no servidor antigo.

clip_image004

Como podemos ver, a latência ficou entre 1ms e 34ms o que é MUITO melhor que o tempo resposta de 33ms a 182ms nos discos velhos.

clip_image005

MBs por segundo também melhorou demais… Agora consigo ler até 252mbs por segundo, contra 47mb…

Espero que seja útil…

Abs.

Fabiano Amorim

Anúncios