Partilhar via


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

Aplica-se a:SQL Server em VMs 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 custos e otimizar desempenho. Esta série de práticas recomendadas de desempenho concentra-se 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, Storage, Security, HADR configuration, Collect baseline.

Advertência

Não há suporte para colocar tempdb no disco temporário local para imagens de VM do Azure com discos efémeros não inicializados. As implantações por meio do portal do Azure podem falhar e o SQL Server pode falhar ao iniciar. Use um tamanho de VM diferente ou coloque tempdb no armazenamento não efêmero quando você implantar a imagem do SQL Server por meio do portal do Azure e quando instalar o SQL Server manualmente. Para saber mais, revise a implantação de VM e as falhas do SQL Server.

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:

  • Identifique as características de desempenho da carga de trabalho para determinar o tamanho de VM apropriado para sua empresa.
  • Se você estiver migrando para o Azure, use a extensão de migração SQL do Azure para o Azure Data Studio para encontrar o tamanho de VM certo para sua carga de trabalho existente do SQL Server e, em seguida, migre com o Azure Data Studio.
  • Use as imagens do Azure Marketplace para implantar suas VMs do SQL Server à medida que as configurações e as opções de armazenamento do SQL Server são definidas para um desempenho ideal.
  • Use tamanhos de VM com 4 ou mais vCPUs.
  • Use tamanhos de máquina virtual otimizados para memória para obter o melhor desempenho de cargas de trabalho do SQL Server.
    • As séries Edsv5e Msv3 e Mdsv3 oferecem uma relação ideal de memória para vCore, recomendada para cargas de trabalho OLTP.
    • As VMs da série Mbdsv3 oferecem o melhor desempenho para cargas de trabalho do SQL Server em VMs do Azure. Considere primeiro esta série para cargas de trabalho de missão crítica do SQL Server, incluindo OLTP e data warehouse.
    • A série Ebdsv5 fornece uma alta taxa de transferência de E/S com relação ao vCore, juntamente com uma relação de memória para vCore de 8:1. Esta série oferece o melhor preço-desempenho para cargas de trabalho do SQL Server em VMs do Azure. Considere essas VMs primeiro para a maioria das cargas de trabalho do SQL Server.
    • A família série M oferece VMs com a maior alocação de memória no Azure.
    • As VMs das séries Mbsv3 e Mbdsv3 oferecem uma alta capacidade de memória e a maior relação de rendimento de E/S por núcleo vCore entre a família M-series, juntamente com uma relação memória/vCore consistente de pelo menos 8:1.
  • Inicie ambientes de desenvolvimento com as séries D, B ou Av2 de nível inferior e aumente seu ambiente ao longo do tempo.
  • Verifique o suporte de VM para evitar configurações não suportadas.

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

Visão geral

Ao criar um SQL Server na VM do Azure, considere cuidadosamente o tipo de carga de trabalho necessária. Se estiver a migrar um ambiente existente, recolha uma referência de desempenho para determinar os requisitos do SQL Server numa VM no Azure. 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 que concede a capacidade de alocar suas licenças do SQL Server para o SQL Server em VMs do Azure.

Se esta for uma nova VM, crie sua nova VM do SQL Server com base nos requisitos do aplicativo. Se você estiver criando uma nova VM do SQL Server para 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 ambientes de desenvolvimento com as séries D, B ou Av2 de nível inferior e aumente seu ambiente ao longo do tempo.

Considere a seguinte série de VMs com base em suas cargas de trabalho do SQL Server:

  • Maior alocação de memória para cargas de trabalho de missão crítica: As VMs das séries Mbsv3 e Mbdsv3 oferecem a maior alocação de memória no Azure, com o melhor desempenho de armazenamento.
  • Alta taxa de transferência de E/S para vCore: As VMs das séries Mbsv3 e Mbdsv3 oferecem a mais alta taxa de transferência para vCore de qualquer série de VMs em qualquer nuvem. As VMs da série Ebdsv5 oferecem a segunda maior taxa de transferência para vCore no Azure. Se não souberes os requisitos de E/S para a tua carga de trabalho do SQL Server, as VMs da série Ebdsv5 são as que mais provavelmente atenderão às tuas necessidades. Consulte o artigo de armazenamento para saber mais.
  • Processamento paralelo para máquinas maiores: As VMs das séries Msv3 e Mdsv3 oferecer processamento paralelo, tornando-as boas opções para ambientes de data warehouse maiores.

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 8:1. Para ambientes médios, convém escolher uma relação memória/vCore de 16:1 e uma relação memória/vCore de 32:1 para ambientes de data warehouse maiores.

Utilize as imagens do marketplace do SQL Server VM com a configuração de armazenamento dentro do 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 desempenho de armazenamento premium. Consulte o artigo de armazenamento para saber mais.

Capacidade de suporte

Considere as seguintes limitações ao instalar o SQL Server em VMs do Azure:

  • Os Conjuntos de Escala de Máquina Virtual do Azure não são suportados com o SQL Server em VMs do Azure. Decidir utilizar Conjuntos de Máquinas Virtuais com o seu SQL Server na VM do Azure contra esta recomendação e ativar o recurso de patching automático para convidados, que substitui o disco do sistema operativo quando uma nova versão de imagem é lançada, comprometerá o funcionamento do SQL Server, levando a potenciais problemas de corrupção, perda de dados e questões de disponibilidade.
  • O SQL Server não é compatível com sistemas que tenham mais de 64 vCores por nó NUMA. Desativar SMT para usar o SQL Server em VMs do Azure que excedam 64 vCores por nó NUMA.
  • Atualmente, o SQL Server oferece suporte a discos com tamanhos de setor nativo padrão de 512 bytes e 4 KB. Não há suporte para a instalação do SQL Server em discos com tamanhos de setor de 8 KB e pode levar a falhas de instalação, bem como à degradação do desempenho por E/S desalinhadas.
  • As imagens de VM do SQL Server no Azure falham ao serem implantadas com tamanhos de VM que têm discos temporários não inicializados. Para saber mais, consulte Algumas imagens de VM do SQL Server no Azure podem não ser disponibilizadas.

Filtragem por tamanho de VM

Ao implantar uma VM do Azure, use a convenção de nomenclatura para determinar o nome do tamanho da VM pelo qual filtrar no portal. O nome do tamanho da VM é a combinação da família, subfamília, número de CPUs e quaisquer recursos aditivos.

Por exemplo, ao filtrar uma VM da série Ebdsv5, insira o nome do tamanho da VM, como E64bds ou a versão, como v5, que é conhecida como Geração no portal. A captura de tela a seguir demonstra a filtragem da lista de tamanhos da v5 VM pela versão no portal do Azure:

Captura de ecrã da página selecionar um tamanho de VM do portal do Azure.

Considere o seguinte:

  • Filtros adicionais podem ser aplicados usando 'Adicionar filtro' para restringir sua lista de tamanhos de VM com base em fatores como o tamanho da máquina, tipo (família), como memória otimizada ou uso geral, e tipo de controlador de disco.
  • Se você não vir um resultado para a VM que está procurando, é provável que seja devido a um filtro aplicado à lista de tamanhos da VM. Limpe o filtro e tente novamente.
  • O filtro do controlador de disco ajuda a identificar se o armazenamento é iSCSI ou NVMe.

VMs da série M otimizadas para memória

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

A lista a seguir lista os recursos das VMs da série M:

  • Suporte a armazenamento premium , cache de armazenamento premium , discos ultra , aceleração de gravação e rede acelerada.
  • São adequados para cargas de trabalho do SQL Server que exigem altos recursos de computação com grande espaço de memória e menos ênfase no desempenho do armazenamento.

Séries Mbsv3 e Mbdsv3

As séries Mbsv3 e Mbdsv3 são VMs otimizadas para memória projetadas para grandes bancos de dados na memória e cargas de trabalho com altas necessidades de relação memória/CPU. As VMs desta série são construídas na 4ª geração Intel® Xeon® Scalable e oferecem uma variedade de tamanhos de memória e contagens de vCPU para atender às necessidades de suas cargas de trabalho do SQL Server. As VMs das séries Mbsv3 e Mbdsv3 são recomendadas para cargas de trabalho de missão crítica e data warehouse.

As VMs das séries Mbsv3 e Mbdsv3 suportam 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, data warehouse, relatórios pesados, caches grandes e análises na memória.

A seguir estão as características das VMs nesta série:

  • A série Mbsv3 oferece até 176 vCores e 1.536 GiB de memória, com uma relação memória-para-vCore consistente de 8:1, 650.000 IOPS e 6.000 MBps de taxa de transferência de armazenamento.
  • série Mbdsv3 oferecem até 176 vCores e 4 TiB de memória, 650.000 IOPS e 10.000 MBps de taxa de transferência de armazenamento. Esta série de VMs oferece mais de 50% de melhoria em IOPS e taxa de transferência para a série Ebdsv5 de melhor desempenho - tornando o Mbdsv3 uma das opções de VM de melhor desempenho disponíveis em qualquer nuvem. A série Mbdsv3 VM compartilha características de desempenho semelhantes com a série Mbsv3 VM, mas inclui armazenamento local e temporário forte, tornando-a perfeita para a otimização de desempenho do tempdb, relatórios, OLAP de missão crítica e cargas de trabalho de data warehouse.

Séries Msv3 e Mdsv3

As máquinas virtuais Msv3 e Mdsv3 são concebidas com capacidades de computação e níveis de memória nos níveis de memória médio, alto, e muito alto. Essas VMs oferecem desempenho, escalabilidade e resiliência aprimorados a falhas em comparação com as VMs Mv2 da geração anterior.

As VMs desta série estão listadas a seguir:

  • VMs de memória média Msv3 e Mdsv3: alimentadas por processadores escaláveis Intel® Xeon® de 4ª geração e oferecem tamanhos de VM de até 4 TiB de memória, 416 vCPUs, 130.000 IOPS e 4.000 MBps de taxa de transferência de armazenamento remoto com a interface NVMe.
  • VMs de alta memória Msv3 e Mdsv3: são projetadas para cargas de trabalho de alta memória com memória variando de 6 TiB a 16 TiB, até 832 vCPUs, até 260.000 IOPS e taxa de transferência de 8.000 MBps para armazenamento remoto com a interface NVMe.
  • Mdsv3 Very High Memory Series: alimentado por processadores Intel® Xeon® Platinum 8490H (Sapphire Rapids) de 4ª geração, e tem a maior pegada de memória de qualquer uma das máquinas virtuais baseadas na série M oferecendo até 32 TiB de memória, 1.792 vCPUs, até 200.000 IOPS e 8.000 MBps de taxa de transferência de armazenamento remoto.

Atenção

Desativar SMT para usar o SQL Server em VMs do Azure que excedam 64 vCores por nó NUMA.

VMs da série E otimizadas para memória

As VMs da série E são projetadas para cargas de trabalho com uso intensivo de memória, como grandes bancos de dados, análises de big data e aplicativos corporativos que exigem quantidades significativas de RAM para manter o alto desempenho.

Série Ebdsv5

A série Ebdsv5 é uma série de VMs otimizadas para memória que oferece o mais alto desempenho de taxa de transferência de armazenamento remoto disponível no Azure. Essas VMs têm uma relação memória/vCore de 8:1, o que, juntamente com a alta taxa de transferência de E/S, as torna ideais para a maioria das 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.

Observação

Os tamanhos maiores da série Ebdsv5 (48 vCPUs e superiores) oferecem suporte para acesso ao armazenamento com NVMe habilitado. Para aproveitar esse alto desempenho de E/S, você deve implantar sua máquina virtual usando NVMe.

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 taxa de transferência de armazenamento local e remoto muito alta. Na maioria dessas máquinas virtuais, há quase sempre consistentes 8 GiB de memória por vCore, o que é adequado 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 está isolada, o que significa que é garantidamente a única máquina virtual em execução no host e assim 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 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.

Fins Gerais

Os tamanhos de máquinas virtuais de uso geral são projetados para oferecer proporções equilibradas de memória para vCore, adequadas para cargas de trabalho de nível de entrada, como desenvolvimento e teste, servidores web e servidores de base de dados mais pequenos.

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 do 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 é 4 vCPU e 32 GiB de memória.

Série Ddsv5

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

As VMs Ddsv5 incluem latência mais baixa e armazenamento local de velocidade mais alta.

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.

Observação

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 máquinas virtuais confidenciais de uso geral do Azure com disco temporário. Analise 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áquina virtual da série B burstable são ideais para cargas de trabalho que não precisam de um desempenho consistente, tal como as provas de conceito e os servidores de aplicativos e os de desenvolvimento muito pequenos.

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

Esta série é única, pois as aplicações têm a capacidade de estouro durante o horário comercial, com créditos de estouro 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.

Observação

O , da 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 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 pequenas aplicações e servidores web.

Observação

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.

Armazenamento otimizado

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

O da série Lsv2 apresenta alta taxa de transferência, 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 impulsionar o desempenho do disco por até 30 minutos de cada vez.

Essas máquinas virtuais variam de 8 a 80 vCPU com 8 GiB de memória por vCPU e para cada 8 vCPUs há 1,92 TiB 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,92 TiB 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 do serviço.

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

Advertência

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 quantidades maiores de memória, IOPS e taxa de transferência, sem necessitar de contagens mais altas de vCore.

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. Reduzir os vCores disponíveis para máquina virtual proporciona uma maior relação entre memória e vCore, mas o custo de processamento 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.

Observação

  • Cargas de trabalho de data warehouse de médio a grande porte ainda podem se beneficiar de VMs vCore restritas, mas as cargas de trabalho de data warehouse geralmente são caracterizadas por menos usuários e processos que abordam grandes quantidades de dados por meio de planos de consulta executados em paralelo.
  • O custo de computação, que inclui o licenciamento do sistema operativo, permanecerá igual ao da máquina virtual principal.

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