A Microsoft tem um grande número de diferentes séries e tamanhos de máquinas virtuais do Azure disponíveis se você estiver interessado em usar a opção de infraestrutura como serviço (IaaS) para hospedar instâncias do SQL Server. Uma decisão inicial que você precisará tomar é qual série e tamanho da VM do Azure você deseja usar para sua carga de trabalho específica do SQL Server.
Para uso local do SQL Server, você deseja fazer uma análise cuidadosa de sua carga de trabalho e dos modelos de servidor e modelos de processador disponíveis para obter um servidor com uma opção de processador apropriada para minimizar os custos de licença do SQL Server e obter o melhor desempenho e capacidade possível a um determinado custo de licença do SQL Server. A diferença de custo e desempenho entre uma boa escolha de processador e uma má escolha de processador pode ser bastante dramática.
Com uma VM do Azure, você precisa fazer uma análise semelhante, mas por motivos um pouco diferentes. O custo de licenciamento do SQL Server em uma VM do Azure está diretamente relacionado ao número de núcleos na VM. Você deseja escolher um tamanho de VM que corresponda às suas necessidades esperadas de desempenho e capacidade da CPU, capacidade de memória e desempenho de armazenamento.
Ao contrário de um cenário local, você terá muito menos controle sobre a escolha real do processador na máquina host subjacente. Com uma VM do Azure, você escolhe uma série de máquina específica (como uma série GS) e tamanho em um Data Center do Azure específico e, em seguida, obtém o processador que a Microsoft está usando para essa série e tamanho nesse Data Center do Azure. Atualmente, a Microsoft possui 42 regiões diferentes que possuem Data Centers do Azure, portanto, você pode usar a matriz mostrada nesta página para descobrir quais séries de VMs são oferecidas em cada região.
Unidade de computação do Azure (ACU)
Um conceito muito importante a ser entendido ao comparar e selecionar um SKU de VM do Azure é a Unidade de Computação do Azure (ACU), que permite comparar o desempenho de computação (desempenho de vCPU por núcleo) em diferentes SKUs de VM do Azure. Essa medida de ACU é atualmente padronizada em uma VM Pequena (Standard_A1) com uma pontuação de 100 e todas as outras SKUs do Azure têm pontuações de ACU que representam aproximadamente quanto mais rápido esse SKU do Azure específico pode executar um benchmark de CPU padrão. Assim, por exemplo, um Standard_A1 tem uma pontuação ACU/vCPU de 100, enquanto um Standard_GS5 tem uma pontuação ACU/vCPU de 240.
Observar a pontuação do ACU para um SKU de VM do Azure fornece uma ideia decente do desempenho da CPU de thread único do processador usado na máquina host subjacente. Também é importante entender se esse processador específico suporta Intel Turbo Boost e/ou Intel Hyper-Threading, pois nem todos os processadores usados nos vários SKUs de VM do Azure suportam essas tecnologias.
Você pode fazer isso identificando a CPU do host real em sua VM na página CPU da guia Desempenho do Gerenciador de Tarefas do Windows ou usando um utilitário como CPU-Z. Depois de identificar o modelo exato do processador no host, você pode usar o banco de dados Intel ARK online para obter detalhes específicos sobre esse processador.
Novos tamanhos de VM do Azure para SQL Server
Um problema comum com o dimensionamento de VM do Azure para SQL Server foi o fato de que muitas vezes você era forçado a selecionar um tamanho de VM que tinha muito mais núcleos de CPU virtual do que você precisava ou desejava para ter memória e desempenho de armazenamento suficientes para dar suporte à sua carga de trabalho, que aumentou seu custo de licenciamento mensal.
Felizmente, a Microsoft recentemente tornou o processo de decisão um pouco mais fácil para o SQL Server com uma nova série de VMs do Azure que usam alguns tamanhos de VM específicos (DS, ES, GS e MS), mas reduzem a contagem de vCPU para um quarto ou metade do tamanho original da VM, mantendo a mesma memória, armazenamento e largura de banda de E/S. Esses novos tamanhos de VM têm um sufixo que especifica o número de vCPUs ativas para facilitar a identificação.
Por exemplo, uma VM do Azure Standard_DS14v2 teria 16 vCPUs, 112 GB de RAM e suportaria até 51.200 IOPS ou 768 MB/s de taxa de transferência sequencial (de acordo com a Microsoft). Uma nova VM do Azure Standard_DS14-8v2 teria apenas 8 vCPUs, com a mesma capacidade de memória e desempenho de disco que a Standard_DS14v2, o que reduziria seu custo de licenciamento do SQL Server por ano em 50%. Ambos os SKUs de VM do Azure teriam a mesma pontuação de ACU de 160.
Um problema um tanto confuso com esses novos SKUs de VM do Azure é que o custo mensal de computação (que inclui licenciamento do SO) para ambos os SKUs seria o mesmo (US$ 989,52/mês para este exemplo). Onde você economiza são os custos reduzidos de licenciamento mensal do SQL Server.
Essencialmente, o que a Microsoft está fazendo aqui é desabilitar os núcleos na VM para reduzir os custos de licenciamento do SQL Server, algo que você não tem permissão para fazer com o SQL Server local. Com o SQL Server local, você não tem permissão para desabilitar núcleos de processador em seu UEFI/BIOS para reduzir seus custos de licença do SQL Server. Mesmo se você desabilitar os núcleos no UEFI/BIOS, ainda será necessário licenciar esses núcleos para o SQL Server.
Comparando sua VM do Azure com CPU-Z
Um benchmark de CPU muito rápido que você pode executar em qualquer máquina (física ou virtual, VM do Azure ou não) é o benchmark interno de CPU-Z, que leva apenas cerca de 20 segundos para ser concluído. Criei um DS14-8_v2 padrão no Data Center Centro-Sul dos EUA. Esta VM estava usando o processador Intel Xeon E5-2673 v3 Haswell-EP, que é um processador de 12 núcleos com uma velocidade de clock base de 2,4 GHz e uma velocidade de clock Turbo de 3,2 GHz que parece ser um SKU de processador sob medida especial que não está no banco de dados Intel Ark. Esta família de processadores foi introduzida no terceiro trimestre de 2014, portanto, está disponível há mais de três anos. Nesta VM em particular, não vi o Turbo Boost sendo usado durante meus testes.
Observando as Figuras 1 a 3, você pode ver os resultados do benchmark CPU-Z para esta VM do Azure, com a Figura 4 sendo os resultados do meu laptop Dell Precision 5520 reconhecidamente rápido. Meu laptop tem o mesmo número de núcleos virtuais que a VM do Azure DS14-8_v2 padrão, mas estou usando um processador Intel Xeon E3-1505M v6 Kaby Lake muito mais recente com uma velocidade de clock base mais alta e melhor desempenho de thread único.
Figura 1:Gerenciador de tarefas do padrão DS14-8_v2 no centro-sul dos EUA
Figura 2:guia CPU-Z do padrão DS14-8_v2 no centro-sul dos EUA
Figura 3:Guia de bancada CPU-Z do padrão DS14-8_v2 no centro-sul dos EUA
Figura 4:guia de bancada CPU-Z do laptop de Glenn