Computar limites de capacidade por edição do SQL Server

Este tópico discute os limites de capacidade de computação para diferentes edições do SQL Server 2014 e como eles diferem em ambientes físicos e virtualizados com processadores hiperthread.

Mapeamentos para calcular limites de capacidade

A tabela a seguir descreve as notações que são usadas no diagrama acima:

Valor Descrição
0..1 Zero ou um
1 Exatamente um
1..* Um ou mais
0..* Zero ou mais
1..2 Um ou dois

Importante

Para elaborar mais:

  1. Uma máquina virtual é alocada um ou mais processadores virtuais.

  2. Uma ou mais processadores virtuais são alocados a exatamente uma máquina virtual.

  3. Zero ou um processador virtual é mapeado para zero ou mais processadores lógicos. Quando o mapeamento do processador virtual para o processador lógico é:

    • Um para zero representa um processador lógico não associado não usado pelos sistemas operacionais convidados.
    • Um para muitos representa uma superconfirmação.
    • Zero para muitos representa a ausência de máquina virtual no sistema host, de modo que nenhum processador lógico seja usado por máquinas virtuais.
  4. Um soquete é mapeado para zero ou mais núcleos. Quando o soquete para o mapeamento de núcleo é:

    • Um para zero representa um soquete vazio (nenhum chip instalado).
    • Um para um representa um chip de núcleo único instalado no soquete (muito raro estes dias).
    • Um para muitos representa um chip de núcleo múltiplo instalado no soquete (os valores típicos são 2,4,8).
  5. Um núcleo é mapeado para um ou dois processadores lógicos. Quando o mapeamento do núcleo para o processador lógico é:

    • O hyperthreading de um para um está desativado.
    • O hyperthreading de um para dois está ativado.

As definições a seguir se aplicam às condições usadas ao longo deste tópico:

  • Um thread ou processador lógico é um mecanismo de computação lógico da perspectiva do SQL Server, o sistema operacional, um aplicativo ou driver.

  • Um núcleo é uma unidade de processador que pode consistir em um ou mais processadores lógicos.

  • Um processador físico pode consistir em um ou mais núcleos. Um processador físico é o mesmo que um pacote de processador ou um soquete.

Os sistemas com mais de um processador físico ou sistemas com processadores físicos que têm vários núcleos e/ou hyperthreads permitem que o sistema operacional execute várias tarefas simultaneamente. Cada thread de execução aparece como um processador lógico. Por exemplo, se você tiver um computador com dois processadores com núcleo quad com hyper-threading habilitado e dois threads por núcleo, terá 16 processadores lógicos: 2 processadores x 4 núcleos por processador x 2 threads por núcleo. Vale observar que:

  • A capacidade de computação de um processador lógico de um único thread de um núcleo hyper-threaded é menor que a capacidade de computação de um processador lógico daquele mesmo núcleo com hyperthreading desabilitado.

  • Mas a capacidade de computação dos 2 processadores lógicos no núcleo hyper-threaded é maior que a capacidade de computação do mesmo núcleo com hyperthreading desabilitado.

Cada edição do SQL Server tem dois limites de capacidade de computação:

  1. Um número máximo de soquetes (o mesmo que o processador físico ou soquete ou pacote de processador).

  2. Um número máximo de núcleos como relatado pelo sistema operacional.

Esses limites se aplicam a uma única instância do SQL Server. Eles representam a capacidade máxima de computação que uma única instância usará. Eles não restringem o servidor no qual a instância pode ser implantada. De fato, implantar várias instâncias do SQL Server no mesmo servidor físico é um modo eficiente de usar a capacidade de computação de um servidor físico com mais soquetes e/ou núcleos que os limites de capacidade abaixo.

A tabela a seguir especifica os limites de capacidade de computação para uma única instância de cada edição do SQL Server 2014:

Edição do SQL Server Capacidade máxima de computação usada por uma única instância (MECANISMO SQL ServerDatabase) Capacidade máxima de computação usada por uma única instância (AS, RS)
Edição Enterprise: Licenciamento baseado em núcleo1 Máximo do sistema operacional Máximo do sistema operacional
Desenvolvedor Máximo do sistema operacional Máximo do sistema operacional
Avaliação Máximo do sistema operacional Máximo do sistema operacional
Business Intelligence Limitado a menos de 4 soquetes ou 16 núcleos Máximo do sistema operacional
Standard Limitado a menos de 4 soquetes ou 16 núcleos Limitado a menos de 4 soquetes ou 16 núcleos
Web Limitado a menos de 4 soquetes ou 16 núcleos Limitado a menos de 4 soquetes ou 16 núcleos
Express Limitado a menos de 1 soquete ou 4 núcleos Limitado a menos de 1 soquete ou 4 núcleos
Express with Tools Limitado a menos de 1 soquete ou 4 núcleos Limitado a menos de 1 soquete ou 4 núcleos
Express with Advanced Services Limitado a menos de 1 soquete ou 4 núcleos Limitado a menos de 1 soquete ou 4 núcleos

1 O Enterprise Edition com Servidor + licenciamento baseado em CAL (Licença de Acesso para Cliente) (não disponível para novos contratos) é limitado ao máximo de 20 núcleos por instância do SQL Server. Não há limites no modelo de Licenciamento de Servidor Baseado em Núcleo.

Em um ambiente virtualizado, o limite da capacidade de computação é baseado no número de processadores lógicos, não núcleos, porque a arquitetura de processador não é visível aos aplicativos convidados. Por exemplo, um servidor com quatro soquetes populados com processadores com núcleo quad e a capacidade para habilitar dois hyperthreads por núcleo contém 32 processadores lógicos com hyperthreading habilitado, mas só 16 processadores lógicos com hyperthreading desabilitado. Esses processadores lógicos podem ser mapeados para máquinas virtuais no servidor com a carga de computação das máquinas virtuais nesse processador lógico mapeado para um thread de execução no processador físico no servidor host.

Você poderá querer desabilitar hyperthreading quando o desempenho por processador virtual for importante. A pessoa pode habilitar ou desabilitar hyperthreading usando uma configuração de BIOS para o processador durante a instalação da BIOS, mas é geralmente uma operação no escopo do servidor, que afetará todas as cargas de trabalho que estão sendo executadas no servidor. Isto pode sugerir separar cargas de trabalho que serão executadas em ambientes virtualizados dos que se beneficiariam do aumento de desempenho de hyperthreading em um ambiente de sistema operacional físico.

Consulte Também

Edições e componentes do SQL Server 2014
Recursos com suporte nas edições do SQL Server 2014
Especificações de capacidade máxima do SQL Server
Instalação de Início Rápido do SQL Server 2014