Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Aplica-se a:SQL Server em VM no Azure
Este artigo mostra como otimizar o desempenho e reduzir os custos de licenciamento para seu SQL Server em Azure Virtual Machines (VMs) usando a personalização de vCore da VM do Azure, que inclui Núcleos Restritos Configuráveis (CCC) e a capacidade de desabilitar as configurações de Simultaneous Multithreading (SMT).
Observação
A customização de vCore da VM está atualmente em pré-visualização para SQL Server em VMs do Azure.
Visão geral
Núcleos Restritos Configuráveis (CCC) melhora o modelo de vCPU restrito original das VMs do Azure. Ele fornece controle mais preciso sobre o número de vCores ativos (também conhecidos como vCPUs) do que a máquina virtual pai. O CCC oferece aos clientes do SQL Server a capacidade de alocar vCores independentemente da memória da VM e da E/S. Essa configuração fornece uma economia significativa para licenças por núcleo, preservando ainda a memória necessária e o espaço de cabeçalho de E/S para o pool de buffers, columnstore, tempdb, taxa de transferência de backup/restauração e largura de banda de armazenamento.
Opcionalmente, você pode combinar o CCC com a desabilitaçãodo SMT (Multithreading Simultâneo) /hiperthreading (definir Threads por núcleo = 1) para cargas de trabalho sensíveis à latência.
Juntas, essas opções de personalização de VM oferecem controle granular sobre a apresentação da CPU para o sistema operacional convidado sem sacrificar outros recursos de tamanho de VM.
Modelo de vCPU restrito original
O modelo de vCPU restrito original é um recurso de VMs do Azure projetadas para otimizar a eficiência de custo para cargas de trabalho que não precisam utilizar a capacidade de computação completa de uma VM. VCPUs restritas permitem selecionar tamanhos de VM com um número reduzido de vCPUs, mantendo ainda os mesmos recursos de memória, armazenamento e rede que o tamanho original da VM. Esse recurso é especialmente útil para aplicativos com uso mais intensivo de memória ou entrada/saída, em vez de serem limitados pelo processamento.
Por exemplo, imagine que você implantou uma VM da família M com uma configuração de memória alta para um aplicativo que usa uma fração dos recursos de CPU disponíveis. Usando o recurso de vCPU restrito, você pode implantar a mesma VM da série M, mas com menos vCPUs ativas. Essa redução nas vCPUs pode levar a uma economia de custos significativa, especialmente para o licenciamento de software com base no número de vCores, como o SQL Server.
vCPUs restritos são incorporados na seleção de tamanho de VM, onde o nome da VM indica a contagem reduzida de núcleos. Por exemplo, o tamanho da VM E96-24ads_v5 tem 24 vCPUs ativas, ao invés das 96 vCPUs completas disponíveis no tamanho da VM pai E96ads_v5. Ele ainda mantém 672 GB de RAM e o desempenho de armazenamento e rede da máquina virtual mãe. Para obter mais informações, consulte a lista completa de tamanhos disponíveis com vCPUS restrita.
VCPUs restritas são ideais para:
- Servidores de banco de dados em que o desempenho de memória e armazenamento é crítico, mas o uso da CPU é menor.
- Aplicativos com custos de licenciamento por núcleo mais altos.
Com vCPUs restritas, você paga por menos vCores, mas ainda paga pelos custos de computação e pelo licenciamento do Windows Server para a máquina virtual pai ou host.
Principais benefícios e recursos do modelo de vCPU restrito original
A lista a seguir descreve alguns dos principais benefícios e recursos do uso de vCPUs restritas para SQL Server em VMs do Azure:
- Vantagens de preço/desempenho: você pode escolher tamanhos de VM com 50% ou 75% das vCPUs originais, o que reduz significativamente os custos de licenciamento do SQL Server.
- Memória: a alocação de memória é a mesma que a configuração da VM pai, portanto, cargas de trabalho pesadas de memória não são comprometidas.
- Armazenamento: o desempenho de armazenamento é o mesmo que a configuração de VM pai, portanto, cargas de trabalho intensivas de armazenamento não são afetadas.
- Desempenho: a redução de vCPUs pode melhorar o desempenho reduzindo a contenção de threads e alinhando o uso da CPU com as necessidades do aplicativo.
Observação
O SQL Server não dá suporte a configurações com mais de 64 processadores lógicos por nó NUMA. Se você tentar instalar o SQL Server em um servidor que exceda esse limite, começando com o SQL Server 2022 CU15, a instalação falhará e o log de erros indicará uma configuração NUMA sem suporte.
Desvantagens do modelo de vCPU restrito original
Embora o modelo principal restrito original forneça economia de custos e flexibilidade significativas, ele tem algumas desvantagens:
- Suporte inconsistente entre famílias de VM: nem todas as famílias de VM do Azure dão suporte a vCPUs restritas.
- Flexibilidade limitada: o modelo vCPU restrito original restringe você a apenas 25% ou 50% dos vCores da VM pai, sem granularidade mais fina. Essa limitação é problemática para cargas de trabalho que exigem os recursos completos de uma VM pai, mas apenas um número específico e menor de vCores.
-
Desafios de dimensionamento: à medida que os tamanhos da VM aumentam, a falta de granularidade se torna mais pronunciada. Por exemplo, a
Standard_M416ms_v2VM oferece 416 vCores e até mesmo a opção restrita (208 vCores) pode exceder em muito as necessidades de muitas implantações do SQL Server.
Melhorias introduzidas com núcleos restritos configuráveis (CCC)
O modelo CCC (Núcleos Restritos Configuráveis) da VM do Azure resolve as desvantagens do modelo de vCPU restrito original introduzindo a verdadeira flexibilidade e consistência para implantações de VM do SQL Server, como os seguintes recursos:
- Seleção de núcleo granular: o CCC permite que você especifique o número de vCPUs ativos para sua VM, em vez de estar limitado a frações predefinidas. Isso significa que você pode selecionar qualquer contagem de vCPU com suporte, como 16, 32 ou 48, mantendo a memória completa, o armazenamento e a largura de banda de E/S do tamanho da VM pai.
- Disponibilidade consistente: o CCC está disponível em um amplo conjunto de famílias de VM, reduzindo o risco de suporte inconsistente. Você pode selecionar com confiança a melhor VM para suas necessidades de carga de trabalho e licenciamento.
- Licenciamento otimizado e utilização de recursos: ao alinhar o número de vCPUs ativos com seus direitos de licença e requisitos de carga de trabalho do SQL Server, o CCC ajuda você a evitar pagar por núcleos não utilizados, o que garante que você possa usar totalmente as características de desempenho de tamanhos de VM maiores.
- Melhor satisfação do cliente: ao usar o CCC, você obtém a flexibilidade para otimizar o custo e o desempenho, reduzindo a probabilidade de despesas inesperadas ou configurações abaixo do ideal, melhorando sua satisfação geral com implantações de VM do SQL Server.
O CCC capacita os clientes do SQL Server a adaptar suas implantações de VM do Azure, maximizando a eficiência de licenciamento e a utilização de recursos, minimizando o custo e a complexidade.
Práticas recomendadas do CCC para SQL Server em VMs do Azure
Núcleos Restritos Configuráveis (CCC) é um recurso particularmente útil para o SQL Server em VMs do Azure. Você pode otimizar sua implantação para desempenho e custo.
- Alinhe o licenciamento por núcleo do SQL Server com a necessidade real da CPU: se a carga de trabalho do SQL Server for associada à memória ou à E/S em vez de vinculada à CPU, selecione um tamanho maior de VM para a taxa de transferência de memória e disco, mas restrinja vCPUs ativas para corresponder aos núcleos licenciados. Essa opção pode reduzir os custos de licenciamento do SQL Server mantendo as mesmas características de E/S e memória de VM.
- Melhorar a consistência de latência: para alguns padrões OLTP e de banco de dados sensíveis à latência, desabilitar o SMT (Threads por núcleo = 1) pode reduzir a contenção de núcleo lógico e a latência de cauda para consultas críticas ou em cargas de trabalho de sincronização. Você pode combinar o SMT Off com o CCC em uma única implantação.
- Planeje a implantação: antes de implantar, analise sua carga de trabalho do SQL Server para determinar o número ideal de vCPUs necessárias. Você pode alterar as configurações de CCC e SMT somente durante a criação inicial da VM ou durante uma operação de redimensionamento. Não é possível alterar essas opções em uma VM em execução e o redimensionamento requer uma reinicialização.
-
Alocar adequadamente vCPUs: ao especificar valores, o número de vCPUs ativos (
vCPUsAvailable) não deve exceder a contagem de vCPU padrão para o tamanho da VM selecionada. Para tamanhos de VM que usam hiperthreading (dois encadeamentos por núcleo), os valores válidos paravCPUsAvailablesão números pares (como 2, 4, 6 e assim por diante), enquanto tamanhos sem hiperthreading permitem incrementos de um. As configurações de CCC e SMT persistirão se você redimensionar a VM para outro tamanho compatível. Se o tamanho da VM de destino não der suporte a esses recursos, a operação de redimensionamento será bloqueada. Se você ativar o Benefício Híbrido do Azure ou usar o licenciamento por núcleo, definavCPUsAvailablecomo a contagem de núcleos licenciada que pretende executar. O SQL Server vê apenas esse número de processadores lógicos. Essa opção permite selecionar uma memória maior ou VM de E/S (para pool de buffers ou taxa de transferência) sem pagar por núcleos SQL desnecessários. Valide a contagem de núcleos dentro do Windows com o Gerenciador de Tarefas e sys.dm_os_sys_info no SQL Server. - Desabilitar o SMT: algumas cargas de trabalho OLTP se beneficiam da desabilitação do SMT devido à redução da contenção em recursos de núcleo compartilhados. Outras cargas de trabalho, como a análise ou cargas de trabalho altamente paralelas, podem se beneficiar de deixar o SMT habilitado. Teste ambos para sua carga de trabalho usando testes de carga representativos antes de finalizar.
- NUMA e MAXDOP: O CCC altera apenas a contagem lógica de CPU, não a memória de VM subjacente ou a taxa de transferência de E/S. Examine o MAXDOP e o limite de custo para paralelismo depois de restringir núcleos para garantir o paralelismo ideal nas CPUs reduzidas. Aplique as práticas recomendadas de desempenho geral ajustando de acordo com a carga de trabalho do SQL Server.
- Grupos de disponibilidade e backups: limitar o uso de núcleos não altera os recursos de desempenho de disco do tamanho da VM. Você pode continuar a usar a largura de banda de armazenamento da VM maior para backup e restauração e sincronização de grupo de disponibilidade. Essa taxa de transferência é um driver comum para escolher tamanhos maiores de memória ou E/S com menos núcleos ativos.
- Sem custo adicional: não há custo adicional de VM do Azure para usar controles CCC ou SMT/HT, pois o preço da computação da VM permanece o mesmo que o tamanho selecionado, que inclui custos de computação, memória e armazenamento. A economia potencial vem de software licenciado por núcleo (como o SQL Server) que reconhece a redução da contagem de vCPUs. Examine os termos de licenciamento para estimar a economia e os custos gerais.
Exemplo de padrões de implantação do SQL Server
Considere os seguintes padrões de implantação de carga de trabalho do SQL Server de exemplo:
-
OLTP com uso intensivo de memória: selecione uma VM da série E ou Ebdsv5 para memória alta. Definido
vCPUsAvailablepara corresponder à sua licença do SQL Server (como oito núcleos) e, opcionalmente, definidovCPUsPerCore = 1para desabilitar o SMT para cargas de trabalho sensíveis à latência. Essa configuração preserva a memória e a E/S da VM, reduzindo os custos de licenciamento. -
OLAP/DW com uso intensivo de memória e armazenamento: selecione uma VM da série M para memória e armazenamento elevados. Definido
vCPUsAvailablepara corresponder à sua licença do SQL Server (como 32 núcleos) e, opcionalmente, definidovCPUsPerCore = 1para desabilitar o SMT para cargas de trabalho sensíveis à latência. -
Taxa de transferência de backup e restauração: escolha uma VM com otimização de armazenamento para obter a largura de banda máxima para blob ou discos gerenciados. Defina
vCPUsAvailablecomo o número de núcleos SQL necessários, mantendo alta taxa de transferência de disco ao licenciar menos núcleos.
Introdução ao CCC
Você pode definir as configurações de CCC e SMT para sua VM do Azure usando o portal do Azure, a CLI do Azure, o PowerShell e os modelos do ARM. Para saber mais, examine a personalização do VM vCore.
Depois de implantar ou redimensionar sua VM do Azure, valide a configuração da CPU dentro do sistema operacional convidado e no SQL Server para garantir que suas configurações sejam aplicadas corretamente.
Validar a configuração da CPU no Windows
Utilize o Gerenciador de Tarefas (Desempenho → CPU) para verificar a contagem de processadores lógicos.
Execute wmic cpu get NumberOfCores,NumberOfLogicalProcessors em um prompt de comando administrativo para confirmar o status do SMT.
Validar a configuração da CPU no SQL Server
Execute SELECT cpu_count, hyperthread_ratio FROM sys.dm_os_sys_info; para verificar o número de CPUs lógicos e o SMT.
Examine e ajuste o grau máximo de paralelismo (MAXDOP) e o limite de custo para paralelismo para a nova contagem de CPU.
Limitações
Considere as seguintes limitações de uso da personalização VM vCore para SQL Server em VMs do Azure:
- As imagens com suporte incluem imagens de primeira parte, como Windows Server, Ubuntu, RHEL, SUSE e imagens personalizadas. Não há suporte para imagens de terceiros do Marketplace. Não há suporte para imagens preteridas de SQL VM Linux do Marketplace.
- Atualmente, o CCC está disponível em regiões selecionadas, como Centro-Oeste dos EUA, Norte da Europa, Leste da Ásia e Sul do Reino Unido.
- Você pode definir CCC/SMT somente durante operações de criação ou redimensionamento . Não há suporte para alterações dinâmicas de runtime. O redimensionamento provoca uma reinicialização.
Perguntas frequentes (FAQ)
Considere as seguintes perguntas frequentes:
O CCC altera a taxa de transferência de memória ou armazenamento da minha VM?
Não. O CCC altera apenas quantas vCPUs são apresentadas ao sistema operacional convidado. Você mantém a memória e a E/S do tamanho da VM selecionada.
Posso ativar ou desativar o CCC sem tempo de inatividade?
Não. Você deve habilitar o CCC no momento da criação da VM ou durante um redimensionamento. Ocorre uma reinicialização.
O SQL Server reconhecerá a contagem de núcleos reduzida para licenciamento?
Sim. O SQL Server e outros softwares licenciados por núcleo enxergam apenas o valor vCPUsAvailable que o sistema operacional recebe. Verifique os termos de licenciamento para confirmar.