Tamanho da VM: Melhores práticas de desempenho para o SQL Server em VMs do Azure

Aplica-se a:SQL Server na VM do Azure

Este artigo fornece orientação de tamanho de VM uma série de práticas recomendadas e diretrizes para otimizar o desempenho do SQL Server em Máquinas Virtuais (VMs) do Azure.

Normalmente, há um compromisso entre otimizar para custos e otimizar para desempenho. Esta série de práticas recomendadas de desempenho se concentra em obter o melhor desempenho para o SQL Server em Máquinas Virtuais do Azure. Se sua carga de trabalho for menos exigente, talvez você não precise de 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, consulte os outros artigos desta série: Lista de verificação, Armazenamento, Segurança, Configuração HADR, Coletar linha de base.

Lista de Verificação

Analise a lista de verificação a seguir para obter uma breve visão geral das práticas recomendadas de tamanho de VM que o restante do artigo aborda com mais detalhes:

  • A nova série Ebdsv5 fornece a mais alta taxa de transferência de E/S para vCore no Azure, juntamente com uma relação memória/vCore de 8. Esta série oferece o melhor preço-desempenho para cargas de trabalho do SQL Server em VMs do Azure. Considere esta série primeiro para a maioria das cargas de trabalho do SQL Server.
  • Use tamanhos de VM com 4 ou mais vCPUs, como o E4ds_v5 ou superior.
  • Utilize tamanhos de máquina virtual otimizada para memória para obter o melhor desempenho das cargas de trabalho do SQL Server.
  • As séries Edsv5, M e Mv2 oferecem a relação memória/vCore ideal necessária para cargas de trabalho OLTP.
  • As VMs da série M oferecem a mais alta relação memória/vCore no Azure. Considere essas VMs para cargas de trabalho de missão crítica e data warehouse.
  • Use imagens do Azure Marketplace para implantar suas Máquinas Virtuais do SQL Server à medida que as configurações e opções de armazenamento do SQL Server são definidas 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 sua empresa.
  • Use o Assistente de Migração de Dados e as ferramentas de recomendação de SKU para encontrar o tamanho de VM certo para sua carga de trabalho existente do SQL Server.
  • Use o Azure Data Studio para migrar para o Azure.

Para comparar a lista de verificação de tamanho da VM com as outras, consulte a lista de verificação abrangente de práticas recomendadas de desempenho.

Descrição geral

Ao criar um SQL Server na VM do Azure, considere cuidadosamente o tipo de carga de trabalho necessária. 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 esta for uma nova VM, crie sua nova VM do SQL Server com base nos requisitos do fornecedor.

Se você estiver criando uma nova VM do SQL Server com um novo aplicativo criado para a nuvem, poderá dimensionar facilmente sua VM do SQL Server à medida que seus requisitos de dados e uso evoluem. Inicie os ambientes de desenvolvimento com as séries D, B ou Av2 de nível inferior e aumente seu ambiente ao longo do tempo.

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

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

Nota

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

O data warehouse do SQL Server e os ambientes de missão crítica geralmente precisam ser dimensionados além da relação memória/vCore de 8. Para ambientes médios, você pode escolher uma proporção de 16 memórias/vCore e uma proporção de 32 memórias/vCore para ambientes de data warehouse maiores.

Os ambientes de data warehouse do SQL Server geralmente se beneficiam do processamento paralelo de máquinas maiores. Por esse motivo, as séries M e Mv2 são boas opções para ambientes de data warehouse maiores.

Use a configuração de vCPU e memória da sua máquina de origem como uma linha de base para migrar um banco de dados 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 nos custos de licenciamento do SQL Server.

Com otimização de memória

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

Série Ebdsv5

A série Ebdsv5 é uma nova série otimizada de memória de VMs que oferece a mais alta taxa de transferência de armazenamento remoto disponível no Azure. Essas VMs têm uma relação memória/vCore de 8, o 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 o melhor preço-desempenho para cargas de trabalho do SQL Server em execução em máquinas virtuais do Azure e recomendamos vivamente que sejam para a maioria das suas cargas de trabalho de produção do SQL Server.

Série Edsv5

A série Edsv5 foi projetada para aplicativos que consomem muita 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 uma taxa de transferência de armazenamento local e remoto muito alta. Há 8 GiB de memória por vCore quase consistentes na maioria dessas máquinas virtuais, o que é ideal para a maioria das cargas de trabalho 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 é garantidamente a única máquina virtual em execução no host e, portanto, está isolada de outras cargas de trabalho do cliente. Isso tem uma relação memória/vCore menor do que o recomendado para o SQL Server, portanto, só deve ser usado se o isolamento for necessário.

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

Série ECadsv5

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. Analise as 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 despesas gerais de desempenho, teste sua carga de trabalho e selecione um tamanho de VM que atenda aos seus requisitos de desempenho.

Séries M e Mv2

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

A série Mv2 tem as mais altas contagens de vCore e memória e é recomendada para cargas de trabalho de missão crítica e data warehouse. As instâncias da série Mv2 são tamanhos de VM otimizados para memória que fornecem desempenho computacional incomparável para suportar grandes bancos de dados na memória e cargas de trabalho com uma alta relação memória/CPU, perfeita para servidores de banco de dados relacional, caches grandes e análises na memória.

Alguns dos recursos das séries M e Mv2 atraentes para o desempenho do SQL Server incluem armazenamento premium e suporte a cache de armazenamento premium, suporte a ultradisco e aceleração de gravação.

Fins Gerais

Os tamanhos de máquinas virtuais de uso geral são projetados para fornecer rácios balanceados de memória para vCore para cargas de trabalho de nível de entrada menores, como desenvolvimento e teste, servidores Web e servidores de banco de dados menores.

Devido às menores proporções de memória para vCore com as máquinas virtuais de uso geral, é importante monitorar cuidadosamente os contadores de desempenho baseados em memória para garantir que o SQL Server seja capaz de obter a memória cache de buffer de que precisa. Consulte a 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 relação memória/vCore de 8, a configuração mínima recomendada para uma VM de uso geral executando o SQL Server é de 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 latência mais baixa e armazenamento local de alta velocidade.

Essas máquinas são ideais para implantações lado a lado de SQL e aplicativos que exigem acesso rápido a armazenamento temporário e bancos de dados relacionais departamentais. Há uma relação memória/vCore padrão de 4 em todas as máquinas virtuais desta série.

Por esse motivo, recomenda-se usar o D8ds_v5 como a máquina virtual inicial nesta 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 cache de armazenamento premium.

Nota

A série Ddsv5 não tem a relação memória/vCore de 8 recomendada para cargas de trabalho do SQL Server. Como tal, considere usar essas máquinas virtuais apenas para pequenos aplicativos e cargas de trabalho de desenvolvimento.

Série DCadsv5

Os tamanhos de máquina virtual da série DCadsv5 são VMs confidenciais do Azure de uso geral com disco temporário. Analise as 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 despesas gerais de desempenho, teste sua carga de trabalho e selecione um tamanho de VM que atenda aos seus requisitos de desempenho.

Série B

Os tamanhos de máquinas virtuais burstable da série B são ideais para cargas de trabalho que não precisam de desempenho consistente, como prova de conceito e servidores de aplicativos e desenvolvimento muito pequenos.

A maioria dos tamanhos de máquinas virtuais burstable da série B tem uma relação memória/vCore de 4. A maior dessas máquinas é a Standard_B20ms com 20 vCores e 80 GiB de memória.

Esta série é única, pois os aplicativos têm a capacidade de estourar durante o horário comercial com créditos que variam de acordo com o tamanho da máquina.

Quando os créditos se esgotam, a VM retorna ao desempenho da máquina de linha de base.

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

Esta série suporta armazenamento premium, mas não suporta cache de armazenamento premium.

Nota

A série B burstable não tem a relação memória/vCore de 8 recomendada para cargas de trabalho do SQL Server. Como tal, considere usar essas máquinas virtuais apenas 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 básico, como desenvolvimento e teste, servidores Web de baixo tráfego, bancos de dados de aplicativos pequenos e médios e provas de conceito.

Apenas os Standard_A2m_v2 (2 vCores e 16GiBs de memória), Standard_A4m_v2 (4 vCores e 32GiBs de memória) e os Standard_A8m_v2 (8 vCores e 64GiBs de memória) têm uma boa relação memória/vCore de 8 para essas três principais máquinas virtuais.

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

O 8 vCore Standard_A8m_v2 também pode ser uma boa opção para pequenos servidores de aplicativos e web.

Nota

A série Av2 não oferece suporte a armazenamento premium e, como tal, não é recomendada para cargas de trabalho de produção do SQL Server, mesmo com as máquinas virtuais que têm uma relação memória/vCore de 8.

Com otimização de armazenamento

Os tamanhos de VM otimizados para armazenamento são para casos de uso específicos. Essas máquinas virtuais são projetadas especificamente com taxa de transferência de disco otimizada e E/S.

Série Lsv2

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

Essas máquinas virtuais são opções fortes para cargas de trabalho de big data, data warehouse, relatórios e ETL. A alta taxa de transferência e IOPS do armazenamento NVMe local é um bom caso de uso para processar arquivos que serão carregados em seu banco de dados e outros cenários em que os dados podem ser recriados a partir do sistema de origem ou de outros repositórios, como o armazenamento de Blob do Azure ou o Azure Data Lake. As VMs da série Lsv2 também podem aumentar o desempenho do disco por até 30 minutos de cada vez.

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

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

As séries Lsv2 e Ls suportam armazenamento premium, mas não cache de armazenamento premium. Não há suporte para a criação de um cache local para aumentar IOPs.

Aviso

Armazenar seus arquivos de dados no armazenamento NVMe efêmero pode resultar em perda de dados quando a VM é deslocalizada.

VCores restritos

Cargas de trabalho de alto desempenho do SQL Server geralmente precisam de maiores quantidades de memória, IOPS e taxa de transferência sem as contagens de vCore mais altas.

A maioria das cargas de trabalho OLTP são bancos de dados de aplicativos orientados por um grande número de transações menores. Com cargas de trabalho OLTP, apenas uma pequena quantidade de dados é lida ou modificada, mas os volumes de transações impulsionados por contagens de usuários são muito maiores. É importante ter a memória do SQL Server disponível para planos de cache, armazenar dados acessados recentemente para desempenho e garantir que as leituras físicas possam ser lidas na memória rapidamente.

Esses ambientes OLTP precisam de maiores quantidades de memória, armazenamento rápido e a largura de banda de E/S necessária para um desempenho ideal.

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

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

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

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

Por exemplo, o M64-32ms requer o licenciamento de apenas 32 vCores do SQL Server com a memória, E/S e taxa de transferência do M64ms e o M64-16ms requer o licenciamento de apenas 16 vCores. Embora o M64-16ms tenha um quarto do custo de licenciamento do SQL Server do M64ms, o custo de computação das máquinas virtuais é o mesmo.

Nota

Próximos passos

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