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 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 e Ebdsv5, Msv3 e Mdsv3 oferecem uma proporção ideal de memória para vCore necessária para cargas de trabalho OLTP.
- As VMs da série M oferecem a maior proporção de memória para vCore no Azure. Considere essas VMs para cargas de trabalho críticas de OLTP 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.
Aviso
No momento, não há suporte para a instalação do SQL Server em sistemas que excedam 64 núcleos por nó NUMA. Atualmente, essa limitação se aplica aos tamanhos de máquina virtual do Azure Standard_M176s_3_v3 e Standard_M176s_4_v3 nas séries de memória média Msv3 e Mdsv3.
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, talvez você queira escolher uma proporção de 16 memória para vCore e uma proporção de 32 memória para vCore para ambientes de data warehouse maiores.
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.
VMs da série M com otimização de memória
A série M oferece contagens de vCore e memória para algumas das maiores cargas de trabalho do SQL Server.
Veja a seguir a lista os recursos das VMs da série M:
- Ofereça 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 grandes volumes de memória e menos ênfase no desempenho do armazenamento.
Séries Msv3 e Mdsv3
As máquinas virtuais Msv3 e Mdsv3 são projetadas com poder de computação e recursos de memória em níveis de memória médios, altos e muito altos . Essas VMs fornecem desempenho, escalabilidade e resiliência aprimorados a falhas em comparação com as VMs Mv2 da geração anterior.
Veja a seguir as VMs nesta série:
- 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 TB 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 com mais memória Msv3 e Mdsv3: são projetadas para cargas de trabalho com muita memória com memória variando de 6 TB a 16 TB, até 832 vCPUs, até 260.000 IOPS e taxa de transferência de 8.000 MBps para armazenamento remoto com a interface NVMe.
- Série Mdsv3 Very High Memory: alimentada por processadores Intel® Xeon® Platinum 8490H (Sapphire Rapids) de 4ª geração e tem o maior consumo de memória de qualquer uma das máquinas virtuais baseadas na série M, oferecendo até 32 TB de memória, 1.792 vCPUs, até 200.000 IOPS e 8.000 MBps de taxa de transferência de armazenamento remoto.
Aviso
No momento, não há suporte para a instalação do SQL Server em sistemas que excedam 64 núcleos por nó NUMA. Atualmente, essa limitação se aplica aos seguintes tamanhos de Máquina Virtual do Azure nas séries de memória média Msv3 e Mdsv3: Standard_M176s_3_v3, Standard_M176s_4_v3, Standard_M176ds_3_v3 Standard_M176ds_4_v3
VMs da série E com otimização de 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álise 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 com otimização de memória que oferece a maior taxa de transferência de armazenamento remoto disponível no Azure. Essas VMs têm uma proporção de memória para vCore de 8:1 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.
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.
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 sua carga de trabalho e selecione um tamanho de VM que atenda aos seus requisitos de desempenho.
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 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 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 série B expansível é 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 ao cache 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.
O Standard_A8m_v2 de 8 vCore também pode ser uma boa opção para pequenos aplicativos 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 tamanho de 8 a 80 vCPUs 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 vCPUs e 640 BiB de memória com 10 x 1,92 TB de armazenamento 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 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 lidas 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:
Para obter as melhores práticas de segurança, confira Considerações sobre segurança para o SQL Server em Máquinas Virtuais do Azure.
Revise outros artigos sobre Máquinas Virtuais do SQL Server em Visão geral do SQL Server nas Máquinas Virtuais do Azure. Em caso de dúvidas sobre máquinas virtuais do SQL Server, consulte as Perguntas frequentes.