Computar limites de capacidade por edição do SQL Server
Esse tópico discute os limites de capacidade de computação para edições diferentes do SQL Server 2012 e como elas podem diferir em ambientes físicos e virtualizados com processadores hyper-threaded.
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:
|
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.
A partir do SQL Server 2012, cada edição do SQL Server tem dois limites de capacidade de computação:
Um número máximo de soquetes (o mesmo que o processador físico ou soquete ou pacote de processador).
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 a seguir.
A tabela a seguir especifica os limites de capacidade de computação para uma única instância de cada edição do SQL Server 2012:
Edição do SQL Server |
Capacidade máxima de computação usada por uma única instância (Mecanismo de Banco de Dados do SQL Server) |
Capacidade máxima de computação usada por uma única instância (AS, RS) |
---|---|---|
Enterprise Edition: 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 |
Evaluation |
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 licenciamento baseado no Enterprise Edition with Server + Licença de Acesso para Cliente (CAL) (não disponível para novos acordos) limita-se a um 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. Estes 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 em um thread de execução no processador físico no servidor de 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
Referência
Edições e componentes do SQL Server 2012
Especificações de capacidade máxima do SQL Server