Tamanho da VM: examine as melhores práticas de desempenho para o SQL Server nas VMs do Azure

Aplica-se a:SQL Server na VM do Azure

Este artigo fornece diretrizes de tamanho da VM e uma série de melhores práticas de armazenamento para otimizar o desempenho dos SQL Server em VMs (Máquinas Virtuais) do Azure.

Normalmente, há uma compensação entre a otimização de custos e a otimização de desempenho. Esta série de melhores práticas de desempenho tem como foco obter o melhor desempenho do SQL Server em Máquinas Virtuais do Azure. Se a sua carga de trabalho tem menos demanda, talvez você não precise realizar todas as otimizações recomendadas. Considere suas necessidades de desempenho, custos e padrões de carga de trabalho ao avaliar essas recomendações.

Para obter detalhes abrangentes, confira os outros artigos desta série: Lista de verificação, Armazenamento, Segurança, Configuração de HADR e Coletar linha de base.

Lista de verificação

Examine a seguinte lista de verificação para obter uma breve visão geral das melhores práticas de tamanho da VM abordadas mais detalhadamente no restante do artigo:

  • A nova série Ebdsv5 fornece a maior taxa de transferência de E/S para vCore no Azure, juntamente com uma taxa de memória para vCore de 8. Essa série oferece o melhor desempenho de preço para cargas de trabalho do SQL Server em VMs do Azure. Considere essa série primeiro para a maioria das cargas de trabalho do SQL Server.
  • Use tamanhos de VM com 4 ou mais vCPUs como E4ds_v5 ou superior.
  • Use tamanhos de máquina virtual com otimizado para memória para obter o melhor desempenho das cargas de trabalho do SQL Server.
  • As séries Edsv5, M- e Mv2- oferecem a proporção ideal de memória para vCore necessária para cargas de trabalho OLTP.
  • As VMs da série M oferecem a maior taxa de memória para vCore no Azure. Considere essas VMs para cargas de trabalho críticas de missão e data warehouse.
  • Use as imagens do Azure Marketplace para implantar suas máquinas virtuais do SQL Server, já que as configurações e opções de armazenamento do SQL Server estão configuradas para um desempenho ideal.
  • Colete as características de desempenho da carga de trabalho de destino e use-as para determinar o tamanho apropriado da VM para a sua empresa.
  • Use a ferramenta de recomendação de SKU e o Assistente de Migração de Dados para encontrar o tamanho certo de VM para a sua carga de trabalho do SQL Server.
  • Use o Azure Data Studio para migrar para o Azure.

Para comparar a lista de verificação de tamanhos da VM com as outras, confira a Lista de verificação de melhores práticas de desempenho completa.

Visão geral

Ao criar um SQL Server na VM do Azure, considere cuidadosamente o tipo de carga de trabalho necessário. Se você estiver migrando um ambiente existente, colete uma linha de base de desempenho para determinar seus requisitos do SQL Server na VM do Azure. Se essa for uma nova VM, crie a VM do SQL Server de acordo com os requisitos do fornecedor.

Se você estiver criando uma VM do SQL Server com um novo aplicativo criado para a nuvem, dimensione com facilidade sua VM do SQL Server conforme seus requisitos de dados e de uso evoluírem. Inicie os ambientes de desenvolvimento com as séries D, B ou Av2 de nível inferior e expanda seu ambiente ao longo do tempo.

Use as imagens do marketplace da VM do SQL Server com a configuração de armazenamento no portal. Isso facilita a criação apropriada dos pools de armazenamento necessários para obter o tamanho, a IOPS e a taxa de transferência necessários para suas cargas de trabalho. É importante escolher VMs do SQL Server que dão suporte ao armazenamento Premium e ao cache de armazenamento Premium. Confira o artigo sobre armazenamento para saber mais.

Atualmente, a série Ebdsv5 fornece a maior taxa de transferência de E/S para vCore disponível no Azure. Se você não souber os requisitos de E/S para sua carga de trabalho de SQL Server, essa série é a que mais provavelmente atenderá às suas necessidades. Confira o artigo sobre armazenamento para saber mais.

Observação

Os tamanhos maiores da série Ebdsv5 (48 vCPUs e mais) oferecem suporte para o acesso de armazenamento habilitado para NVMe. Para aproveitar esse alto desempenho de E/S, você precisa implantar sua máquina virtual usando NVMe. O suporte a NVMe para imagens do marketplace do SQL Server estará disponível em breve, mas por enquanto você deve instalar o SQL Server de modo autônomo para aproveitar o NVMe.

Os ambientes críticos e de data warehouse do SQL Server geralmente precisarão ser escalados para além da proporção de memória para vCore igual a 8. Para ambientes médios, o ideal é escolher uma proporção de memória para vCore igual a 16 e, para ambientes maiores de data warehouse, uma proporção de memória para vCore igual a 32.

Em geral, os ambientes de data warehouse do SQL Server se beneficiam do processamento paralelo de computadores maiores. Por esse motivo, as séries M e Mv2 são opções estáveis para ambientes maiores de data warehouse.

Use a configuração de vCPU e memória do computador de origem como uma linha de base para migrar um banco de dados do SQL Server local atual para o SQL Server em VMs do Azure. Se você tiver o Software Assurance, aproveite o Benefício Híbrido do Azure para trazer suas licenças para o Azure e economizar em custos de licenciamento do SQL Server.

Otimizado para memória

Os tamanhos de máquina virtual otimizados para memória são um destino principal para VMs do SQL Server e a opção recomendada pela Microsoft. As máquinas virtuais otimizadas para memória oferecem proporções mais estáveis de memória para CPU e opções de cache de médio a grande porte.

Série Ebdsv5

A série Ebdsv5 é uma nova série de VMs com otimização de memória que oferecem a maior taxa de transferência de armazenamento remoto disponível no Azure. Essas VMs têm uma taxa de memória para vCore de 8, que, juntamente com a alta taxa de transferência de E/S, as torna ideais para cargas de trabalho do SQL Server. As VMs da série Ebdsv5 oferecem a melhor relação entre custo e desempenho para cargas de trabalho do SQL Server em execução em máquinas virtuais do Azure e as recomendamos para a maioria das cargas de trabalho do SQL Server de produção.

Série Edsv5

A série Edsv5 foi projetada para aplicativos com uso intensivo de memória e é ideal para cargas de trabalho do SQL Server que não exigem uma taxa de transferência de E/S tão alta quanto a série Ebdsv5 oferece. Essas VMs têm uma grande capacidade de armazenamento local SSD, até 672 GiB de RAM e a maior taxa de transferência de armazenamento local e remoto. Há quase 8 GiB de memória consistentes por vCore na maioria dessas máquinas virtuais, o que é ideal para cargas de trabalho padrão do SQL Server.

A maior máquina virtual deste grupo é a Standard_E104ids_v5 que oferece 104 vCores e 672 GiBs de memória. Essa máquina virtual é notável porque é isolada, o que significa que tem a garantia de ser a única máquina virtual em execução no host e, portanto, ser isolada de outras cargas de trabalho do cliente. Ela tem uma proporção de memória para vCore menor do que o recomendado para o SQL Server, só devendo, portanto, ser usada se o isolamento for necessário.

As máquinas virtuais da série Edsv5 suportam armazenamento premium e o cache de armazenamento premium.

ECadsv5-series

Os tamanhos de máquina virtual da série ECadsv5 são VMs confidenciais do Azure otimizadas para memória com um disco temporário. Confira VMs confidenciais para obter informações sobre os benefícios de segurança das VMs confidenciais do Azure.

Como os recursos de segurança das VMs confidenciais do Azure podem introduzir sobrecargas de desempenho, teste a carga de trabalho e selecione um tamanho de VM que atenda aos requisitos de desempenho.

Série M e Mv2

A série M oferece contagens de vCore e memória para algumas das maiores cargas de trabalho do SQL Server.

A série Mv2 tem as maiores contagens de vCore e memória e é recomendada para cargas de trabalho críticas e de data warehouse. As instâncias da série Mv2 são tamanhos de VM otimizados para memória que fornecem desempenho computacional inigualável para dar suporte a bancos de dados em memória grandes e cargas de trabalho com uma alta proporção de memória para CPU que é perfeita para servidores de banco de dados relacionais, caches grandes e análise in-memory.

Alguns dos recursos das séries M e Mv2 interessantes para o desempenho do SQL Server incluem o suporte de armazenamento Premium, cache de armazenamento Premium e discos ultra, além da aceleração de gravação.

Uso Geral

Os tamanhos de máquina virtual de uso geral foram projetados para fornecer proporções balanceadas de memória/vCore para cargas de trabalho menores de nível de entrada, como desenvolvimento e teste, servidores Web e servidores de banco de dados menores.

Por conta das proporções menores de memória para vCore nas máquinas virtuais de Uso Geral, é importante monitorar cuidadosamente os contadores de desempenho baseados em memória para garantir que o SQL Server possa obter a memória cache do buffer necessária. Confira Linha de base de desempenho de memória para obter mais informações.

Como a recomendação inicial para cargas de trabalho de produção é uma proporção de memória/vCore igual a 8, a configuração mínima recomendada para uma VM de uso geral que executa o SQL Server é 4 vCPU e 32 GiB de memória.

Série Ddsv5

A série Ddsv5 oferece uma combinação justa de vCPU, memória e disco temporário, mas com suporte menor de memória para vCore.

As VMs Ddsv5 incluem menor latência e armazenamento local de maior velocidade.

Esses computadores são ideais para implantações de aplicativo e SQL lado a lado que exigem acesso rápido aos bancos de dados de armazenamento temporário e relacional departamental. Há uma proporção de memória para vCore padrão igual a 4 em todas as máquinas virtuais dessa série.

Por esse motivo, recomendamos usar a D8ds_v5 como a máquina virtual inicial dessa série, que tem 8 vCores e 32 GiBs de memória. A maior máquina é a D96ds_v5, que tem 96 vCores e 256 GiBs de memória.

As máquinas virtuais da série Ddsv5 suportam armazenamento premium e o cache de armazenamento Premium.

Observação

A série Ddsv5 não tem a proporção de memória para vCore igual a 8 que é recomendada para cargas de trabalho do SQL Server. Assim, considere o uso dessas máquinas virtuais somente para aplicativos menores e cargas de trabalho de desenvolvimento.

DCadsv5-series

Os tamanhos de máquina virtual da série DCadsv5 são VMs confidenciais do Azure de uso geral com disco temporário. Confira VMs confidenciais para obter informações sobre os benefícios de segurança das VMs confidenciais do Azure.

Como os recursos de segurança das VMs confidenciais do Azure podem introduzir sobrecargas de desempenho, teste a carga de trabalho e selecione um tamanho de VM que atenda aos requisitos de desempenho.

Série B

Os tamanhos de máquina virtual da série B com capacidade de intermitência são ideais para cargas de trabalho que não precisam ter um desempenho consistente, como prova de conceito e servidores de aplicativos e desenvolvimento muito pequenos.

A maioria dos tamanhos de máquina virtual da série B com capacidade de intermitência tem uma proporção de memória para vCore igual a 4. A maior dessas máquinas é a Standard_B20ms, com 20 vCores e 80 GiB de memória.

Essa série é exclusiva, pois os aplicativos têm a capacidade de intermitência durante o horário comercial com créditos com capacidade de intermitência variáveis de acordo com o tamanho do computador.

Quando os créditos são esgotados, a VM volta ao desempenho do computador de linha de base.

O benefício da série B é a economia de computação que pode ser obtida em comparação com os outros tamanhos de VM de outras séries, especialmente se você precisa ter uma capacidade de processamento com moderação ao longo do dia.

Essa série dá suporte ao armazenamento premium, mas não dá suporte aocache de armazenamento premium.

Observação

A série B com capacidade de intermitência não tem a proporção de memória para vCore igual a 8 que é recomendada para cargas de trabalho do SQL Server. Assim, considere o uso dessas máquinas virtuais somente para aplicativos menores, servidores Web e cargas de trabalho de desenvolvimento.

Série Av2

As VMs da série Av2 são mais adequadas para cargas de trabalho de nível de entrada, como desenvolvimento e teste, servidores Web de tráfego baixo, bancos de dados de aplicativos pequenos a médios e prova de conceito.

Somente a Standard_A2m_v2 (2 VCores e 16 GiB de memória), a Standard_A4m_v2 (4 vCores e 32 GiBs de memória) e a Standard_A8m_v2 (8 vCores e 64 GiBs de memória) têm uma boa proporção de memória para vCore igual a 8 para essas três principais máquinas virtuais.

Essas máquinas virtuais são boas opções para computadores menores de desenvolvimento e teste do SQL Server.

A Standard_A8m_v2 de 8 vCores também pode ser uma boa opção para aplicativos pequenos e servidores Web.

Observação

A série Av2 não dá suporte ao armazenamento Premium e, assim, não é recomendada para cargas de trabalho de produção do SQL Server mesmo com as máquinas virtuais que têm uma proporção de memória para vCore igual a 8.

Otimizado para armazenamento

Os tamanhos de VM otimizados para armazenamento destinam-se a casos de uso específicos. Essas máquinas virtuais foram projetadas especificamente com taxa de transferência e E/S de disco otimizadas.

Série Lsv2

A série Lsv2 apresenta alta taxa de transferência, baixa latência e armazenamento de NVMe local. As VMs da série Lsv2 são otimizadas para usar o disco local no nó anexado diretamente à VM em vez de usar discos de dados duráveis.

Essas máquinas virtuais são opções estáveis para Big Data, data warehouse, relatórios e cargas de trabalho de ETL. A alta taxa de transferência e a IOPS do armazenamento de NVMe local são um bom caso de uso para o processamento de arquivos que serão carregados no banco de dados e outros cenários em que os dados podem ser recriados com base no sistema de origem ou em outros repositórios, como o Armazenamento de Blobs do Azure ou o Azure Data Lake. As VMs da série Lsv2 também podem oferecer intermitência para o desempenho de disco por até 30 minutos por vez.

Essas máquinas virtuais têm um tamanho que vai de 8 a 80 vCPUs com 8 GiB de memória por vCPU, e para cada 8 vCPUs há 1,92 TB de SSD de NVMe. Isso significa que, para a maior VM dessa série, a L80s_v2, há 80 vCPUs e 640 BiB de memória com dez vezes 1,92 TB de armazenamento de NVMe. Há uma proporção consistente de memória para vCore igual a 8 em todas essas máquinas virtuais.

O armazenamento de NVMe é efêmero, o que significa que os dados serão perdidos nesses discos se você desalocar a máquina virtual ou se ela for movida para um host diferente para recuperação de serviço.

As séries Lsv2 e Ls dão suporte ao armazenamento Premium, mas não ao armazenamento em cache Premium. Não há suporte para a criação de um cache local para aumentar a IOPS.

Aviso

O armazenamento dos arquivos de dados no armazenamento de NVMe efêmero poderá resultar na perda de dados quando a VM for desalocada.

VCores restritos

Em geral, as cargas de trabalho de alto desempenho do SQL Server precisam de quantidades maiores de memória, IOPS e taxa de transferência sem as maiores contagens de vCore.

A maior parte das cargas de trabalho OLTP são bancos de dados de aplicativos controlados por um grande número de transações menores. Com cargas de trabalho OLTP, apenas um pequeno volume de dados é lido ou modificado, mas os volumes de transações controlados por contagens de usuários são muito maiores. É importante ter a memória do SQL Server disponível para armazenar planos em cache, armazenar dados acessados recentemente para desempenho e garantir que as leituras físicas possam ser feitas na memória rapidamente.

Esses ambientes OLTP precisam de mais quantidades de memória, armazenamento rápido e largura de banda de E/S necessárias para serem executados de maneira ideal.

Para manter esse nível de desempenho sem os custos maiores de licenciamento do SQL Server, o Azure oferece tamanhos de VM com contagens de vCPU restritas.

Isso ajuda a controlar os custos de licenciamento reduzindo os vCores disponíveis, mantendo a mesma memória, armazenamento e largura de banda de E/S da máquina virtual pai.

A contagem de vCPUs pode ser restrita à metade ou a um quarto do tamanho da VM original. A redução dos vCores disponíveis para a máquina virtual atinge proporções maiores de memória para vCore, mas o custo de computação permanecerá o mesmo.

Esses novos tamanhos VM têm um sufixo que especifica o número de vCPUs ativos para facilitar a identificação.

Por exemplo, a M64-32ms só exige o licenciamento de 32 vCores do SQL Server com a memória, a E/S e a taxa de transferência da M64ms, e a m64-16ms só exige o licenciamento de 16 vCores. Embora a M64-16ms tenha um quarto do custo de licenciamento do SQL Server da M64ms, o custo de computação da máquina virtual é o mesmo.

Observação

  • Cargas de trabalho médias a grandes de data warehouse ainda podem se beneficiar das VMs com vCores restritos, mas as cargas de trabalho de data warehouse geralmente são caracterizadas por menos usuários e processos que lidam com volumes maiores de dados por meio de planos de consulta executados em paralelo.
  • O custo de computação, que inclui o licenciamento do sistema operacional, permanecerá o mesmo da máquina virtual pai.

Próximas etapas

Para saber mais, confira os outros artigos desta série de melhores práticas: