No início deste ano, escrevi sobre Comparando o desempenho da VM do Windows Azure, usando o Geekbench 3.1.5 no modo de teste de 32 bits para medir o desempenho do processador e da memória de várias VMs do Windows Azure de tamanhos diferentes. Eles variavam de uma VM A0 básica até uma VM A7 padrão, que era a maior VM disponível na época. Essas máquinas estavam todas no data center do East Azure dos EUA e todas estavam usando o hardware de host Azure Gen 2 mais antigo, que apresenta o antigo e relativamente lento processador AMD Opteron 4171 HE.
Consequentemente, os resultados do Geekbench para essas máquinas foram bastante baixos, tanto para as pontuações single-core quanto multi-core, como você pode ver na Tabela 1.
Tamanho da VM | Núcleos de CPU | Memória | Custo Mensal | Pontuação de núcleo único | Pontuação multinúcleo |
---|---|---|---|---|---|
A0 básico | 1 (compartilhado) | 768 MB | $14 | 507 | 498 |
Básico A1 | 1 | 1,75 GB | $56 | 679 | 670 |
Básico A2 | 2 | 3,5 GB | $111 | 709 | 1.358 |
A3 básico | 4 | 7 GB | $221 | 717 | 2.472 |
A4 básico | 8 | 14 GB | $441 | 724 | 4.042 |
Padrão A0 | 1 (compartilhado) | 768 MB | $15 | 492 | 502 |
Padrão A1 | 1 | 1,75 GB | $67 | 1.068 | 1.083 |
Padrão A2 | 2 | 3,5 GB | $134 | 1.069 | 2.002 |
Padrão A3 | 4 | 7 GB | $268 | 1.070 | 3.593 |
A4 padrão | 8 | 14 GB | $536 | 1.094 | 6.446 |
Padrão A5 | 2 | 14 GB | $246 | 1.080 | 2.026 |
Padrão A6 | 4 | 28 GB | $492 | 1.080 | 3.686 |
Padrão A7 | 8 | 56 GB | $983 | 1.056 | 6.185 |
Tabela 1:Especificações de máquina virtual selecionadas para Windows Azure no data center do leste dos EUA
Mesmo a maior VM padrão A7 se compara muito mal com um laptop moderno médio, tanto para desempenho de núcleo único quanto de núcleo múltiplo. No Geekbench, a pontuação de núcleo único mede o desempenho de thread único do processador, que é basicamente a velocidade bruta do processador. O desempenho de thread único é muito importante para cargas de trabalho OLTP, em que a maioria das consultas é executada em um único núcleo de processador. A pontuação de vários núcleos mede a capacidade geral do processador do sistema, o que equivale a quanta carga de trabalho simultânea você pode suportar. Embora muitas cargas de trabalho menores do SQL Server possam funcionar perfeitamente com esse nível de desempenho e capacidade de VM, como DBA, eu não ficaria muito feliz em usar hardware Azure Gen 2 mais antigo para minhas VMs do SQL Server.
Mais recentemente, a Microsoft disponibilizou máquinas virtuais padrão A8 e A9 de computação intensiva do Azure maiores e muito mais rápidas. Essas VMs apresentam processadores Intel Xeon E5-2670 Sandy Bridge-EP de 32nm muito mais novos e mais rápidos, lançados inicialmente no primeiro trimestre de 2012. Esse processador em particular tem oito núcleos físicos (mais hyper-threading); com uma velocidade de clock base de 2,6 GHz e uma velocidade de clock Turbo Boost de 3,3 GHz. Este processador estava dois passos abaixo do processador Xeon E5-2690 de oito núcleos "top de linha", mas na verdade é um processador bastante decente. Outro recurso muito importante que vem com esses novos tamanhos de VM é a rede InfiniBand de 40 Gbit/s, que oferece o potencial de um desempenho de E/S muito melhor.
Tamanho da VM | Núcleos de CPU | Memória | Custo Mensal | Pontuação de núcleo único | Pontuação multinúcleo |
---|---|---|---|---|---|
Padrão A8 | 8 | 56 GB | $1.823 | 2.484 | 15.376 |
Padrão A9 | 16 | 112 GB | $3.646 | 2.477 | 28.523 |
Tabela 2:Especificações de máquina virtual selecionadas para Windows Azure no data center do leste dos EUA
Como você pode ver na Tabela 2, essas novas VMs Azure Intensive de Computação têm pontuações de núcleo único e multinúcleo muito melhores no Geekbench. Eles também têm custos mensais significativamente mais altos. Olhando para esses custos mensais de uma perspectiva direta de hardware, você pode comprar um novo servidor Dell PowerEdge R720 com dois processadores Intel Xeon E5-2667 v2 Ivy Bridge-EP de oito núcleos e 22nm mais novos e 192 GB de RAM por aproximadamente US$ 10.000,00, que é cerca de três meses de tempo padrão A9. Com um servidor físico local, você também teria custos de energia e refrigeração, juntamente com manutenção contínua e custos administrativos. Você também teria um tempo de espera mais longo para solicitar e receber um servidor físico e, em seguida, colocá-lo em rack, cabear e configurar. Esse processo normalmente leva cerca de três a quatro semanas na maioria das empresas, mas pode ser muito mais longo. Onde a história econômica muda é quando você inclui seus custos de licença do SQL Server 2012/2014 Enterprise Edition, que seriam cerca de US$ 110.000,00 para 16 licenças de núcleo de processador, o que equivaleria a aproximadamente 30 meses do tempo padrão A9 a preços atuais. Se você usar uma imagem de VM do Azure da galeria padrão de imagens de VM da Microsoft, não precisará pagar por suas licenças de SO ou SQL Server.
Enquanto fazia esse teste, notei algumas outras diferenças interessantes entre uma VM do Azure e um servidor físico semelhante. O primeiro foi o fato de que as VMs do Azure Standard A8 e A9 parecem estar usando algum tipo de gerenciamento de energia no nível do host ou do hipervisor para que o Intel Turbo Boost não esteja sendo usado. Quando executo o Geekbench no sistema e assisto o CPU-Z durante a execução do teste, a velocidade do núcleo do processador permanece na velocidade nominal do clock base durante toda a execução do teste. Se o gerenciamento de energia estiver configurado corretamente em todos os níveis e se o Turbo Boost estiver ativado no BIOS do host, você deverá ver a velocidade do núcleo do processador saltar para a velocidade total do clock do Turbo Boost de 3,3 GHz periodicamente durante a execução do teste. Isso não acontece com as VMs do Azure A8 e A9, o que prejudica a pontuação do Geekbench 3.1.6 de núcleo único em cerca de 10%. As diferenças nas velocidades do núcleo do processador são mostradas nas Figuras 1 e 2.
Figura 1:CPU-Z para VM Azure padrão A9 durante o Geekbench teste de execução
Figura 2:CPU-Z para Dell PowerEdge R720 durante o teste do Geekbench executar
Então, quais são as principais lições aprendidas com esses experimentos? Primeiro, parece evidente que você pode obter um desempenho de VM quase equivalente de uma VM do Azure A9 padrão, como você pode obter de um servidor físico de dois soquetes de tamanho semelhante (usando o mesmo processador), como um Dell PowerEdge R720 ou um HP ProLiant DL380 G8 . Você estará usando um processador Sandy Bridge-EP de gama média um pouco mais antigo, sem o benefício do Intel Turbo Boost estar ativado, então você perderá um total de cerca de 40% do desempenho do processador single-thread em comparação com um vintage atual Intel Xeon E5-2667 v2 em um novo servidor físico local.
Outro problema potencial é o limite de memória de 112 GB para a VM do Azure A9 padrão, em comparação com 384 GB em um servidor físico local (com DIMMs de 16 GB). Se a carga de trabalho do banco de dados puder funcionar bem com um pool de buffers do SQL Server de aproximadamente 95 GB, isso não deve ser um problema. Caso contrário, você pode não estar muito feliz com seu desempenho. Você também gostaria de fazer alguns testes de E/S e benchmarking para determinar o desempenho da VM do Azure A9 e se ela pode lidar com sua carga de trabalho.
Por fim, você deve considerar a economia de usar uma imagem de VM de galeria padrão do Azure, em que os custos de licença do SQL Server 2014 estão incluídos como parte de seu custo mensal do Azure. Dependendo de quanto tempo você acha que sua instância estará em serviço, usar uma VM do Azure pode ser um bom negócio ou não tão bom. Um fator que pode influenciar esse cálculo é a probabilidade de que os preços da VM do Azure caiam com o tempo.