Arquivo
Azure Premium Storage… Testes com SQLIO
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:
IPOS foi lindo de ver… Conseguimos bater 15k por segundo, contra ridículos 1400 que estávamos executando no servidor antigo.
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.
MBs por segundo também melhorou demais… Agora consigo ler até 252mbs por segundo, contra 47mb…
Espero que seja útil…
Abs.
Fabiano Amorim