Limiti della capacità di calcolo per edizione di SQL ServerCompute Capacity Limits by Edition of SQL Server

In questo argomento si illustrano i limiti della capacità di calcolo per differenti edizioni di SQL Server 2017SQL Server 2017 e le differenze in ambienti fisici e virtualizzati con i processori con l'Hyper-Threading.This topic discusses compute capacity limits for different editions of SQL Server 2017SQL Server 2017 and how they differ in physical and virtualized environments with hyperthreaded processors.

Mapping per il calcolo dei limiti della capacitàMappings to compute capacity limits

Nella tabella seguente vengono descritte le notazioni utilizzate nel diagramma sopra riportato:The following table describes the notations being used in the above diagram:

ValoreValue DescrizioneDescription
0..10..1 Zero o unoZero or one
11 Esattamente unoExactly one
1..1.. Uno o piùOne or more
0..0.. Zero o piùZero or more
1..21..2 Uno o dueOne or two
Importante

Per un'ulteriore elaborazione:To elaborate further:

  1. Una macchina virtuale viene allocata per uno o più processori virtuali.A virtual machine is allocated one or more virtual processors.

    1. Uno o più processori virtuali sono allocati a esattamente una macchina virtuale.One or more virtual processors are allocated to exactly one virtual machine.
    2. Viene eseguito il mapping a zero o più processori logici di zero o un processore virtuale.Zero or one virtual processor is mapped to zero or more logical processors. Quando il mapping del processore virtuale al processore logico è:When the virtual processor to logical processor mapping is:
    • Uno-a-zero, che rappresenta un processore logico non associato non utilizzato dai sistemi operativi guest.One-to-zero, it represents an unbound logical processor not used by the guest operating systems.
    • Uno a molti, che rappresenta un overcommit.One-to-many, it represents an overcommit.
    • Zero-a-molti, che rappresenta l'assenza di una macchina virtuale sul sistema host, pertanto non è utilizzato alcun processore logico dalle VM.Zero-to-many, it represents the absence of virtual machine on the host system, so no logical processors are used by VMs.
    • Viene eseguito il mapping di un socket a zero o a più core.A socket is mapped to zero or more cores. Quando il mapping da socket a core è:When the socket to core mapping is:

    • Uno-a-zero, che rappresenta un socket vuoto (alcun chip installato).One-to-zero, it represents an empty socket (no chip installed).

    • Uno-a-uno, che rappresenta un chip singole-core installato nel socket (molto raro).One-to-one, it represents a single-core chip installed into the socket (very rare these days).
    • Uno a molti, che rappresenta un multi-core installato nel socket (i valori tipici sono 2,4,8).One-to-many, it represents a multi-core ship installed into the socket (typical values are 2,4,8).
    • Viene eseguito il mapping di un core a uno o due processori logici.A core is mapped to one or two logical processors. Quando il mapping del core al processore logico è:When the core to logical processor mapping is:

    • Uno-a-uno, l'Hyper-Threading è disabilitato.One-to-one, hyperthreading is off.

    • Uno-a-due, l'Hyper-Threading è abilitato.One-to-two, hyperthreading is on.

Le definizioni seguenti si riferiscono ai termini utilizzati in tutto questo argomento:The following definitions apply to the terms used throughout this topic:

  • Un thread o un processore logico è un motore di calcolo logico dalla prospettiva di SQL ServerSQL Server, del sistema operativo, di un'applicazione o un driver.A thread or logical processor is one logical computing engine from the perspective of SQL ServerSQL Server, the operating system, an application or driver.

  • Un core è un'unità del processore che può essere costituita da uno o più processori logici.A core is a processor unit, which can consist of one or more logical processors.

  • Un processore fisico può essere costituito da uno o più core.A physical processor can consist of one or more cores. Un processore fisico corrisponde a un pacchetto del processore o a un socket.A physical processor is the same as a processor package, or a socket.

    Sistemi con più processori fisici o sistemi con processori fisici che dispongono di più core e/o Hyper-thread consentono al sistema operativo di eseguire più attività simultaneamente.Systems with more than one physical processor or systems with physical processors that have multiple cores and/or hyperthreads enable the operating system to execute multiple tasks simultaneously. Ogni thread di esecuzione viene visualizzato come un processore logico.Each thread of execution appears as a logical processor. Ad esempio, se si dispone di un computer che dispone di due processori quad core con l'Hyper-Threading abilitato e due thread per core, si dispone di 16 processori logici: 2 processori x 4 core per processore x 2 thread per core.For example, if you have a computer that has two quad-core processors with hyper-threading enabled and two threads per core, you have 16 logical processors: 2 processors x 4 cores per processor x 2 threads per core. Vale la pena notare che:It is worth noting that:

  • La capacità di calcolo di un processore logico da un solo thread di un core con l'Hyper-Threading è inferiore alla capacità di calcolo di un processore logico da quello stesso core con l'Hyper-Threading disabilitato.The compute capacity of a logical processor from a single thread of a hyperthreaded core is less than the compute capacity of a logical processor from that same core with hyperthreading disabled.

  • Tuttavia, la capacità di calcolo dei 2 processori logici nel core con l'Hyper-Threading è maggiore della capacità di calcolo dello stesso core con l'Hyper-Threading disabilitato.But the compute capacity of the 2 logical processors in the hyperthreaded core is greater than the compute capacity of the same core with hyperthreading disabled.

    Ogni edizione di SQL ServerSQL Server dispone di due limiti di capacità di calcolo:Each edition of SQL ServerSQL Server has two compute capacity limits:

  1. Un numero massimo di socket (uguale al processore fisico o al socket o al pacchetto del processore).A maximum number of sockets (Same as Physical processor or socket or Processor package).

  2. Un numero massimo di core come riportato dal sistema operativo.A maximum number of cores as reported by the operating system.

    Questi limiti si applicano a una sola istanza di SQL ServerSQL Server.These limits apply to a single instance of SQL ServerSQL Server. Rappresentano la capacità di calcolo massima che verrà utilizzata da una sola istanza.They represent the maximum compute capacity that a single instance will use. Non vincolano il server sul quale potrebbe essere distribuita l'istanza.They do not constrain the server upon which the instance may be deployed. Infatti la distribuzione di più istanze di SQL ServerSQL Server sullo stesso server fisico è un modo efficiente di utilizzare la capacità di calcolo di un server fisico con più socket e/o core dei limiti di capacità riportati di seguito.In fact deploying multiple instances of SQL ServerSQL Server on the same physical server is an efficient way to use the compute capacity of a physical server with more sockets and/or cores than the capacity limits below.

    Nella tabella seguente vengono specificati i limiti della capacità di calcolo per una sola istanza di ogni edizione di SQL Server 2017SQL Server 2017:The following table specifies the compute capacity limits for a single instance of each edition of SQL Server 2017SQL Server 2017:

SQL ServerSQL Server Edizione Edition Capacità di calcolo massima utilizzata da una sola istanza ( SQL ServerSQL Server Motore di databaseDatabase Engine)Maximum Compute Capacity Used by a Single Instance ( SQL ServerSQL Server Motore di databaseDatabase Engine) Capacità di calcolo massima utilizzata da una sola istanza (AS, RS)Maximum Compute Capacity Used by a Single Instance (AS, RS)
Enterprise Edition: licenze basate su coreEnterprise Edition: Core-based Licensing valore massimo del sistema operativoOperating system maximum valore massimo del sistema operativoOperating system maximum
SviluppatoreDeveloper valore massimo del sistema operativoOperating system maximum valore massimo del sistema operativoOperating system maximum
StandardStandard Limitato a meno di 4 socket o 24 coreLimited to lesser of 4 sockets or 24 cores Limitato a meno di 4 socket o 24 coreLimited to lesser of 4 sockets or 24 cores
ExpressExpress Limitato a meno di 1 socket o 4 coreLimited to lesser of 1 socket or 4 cores Limitato a meno di 1 socket o 4 coreLimited to lesser of 1 socket or 4 cores

La licenza basata su Enterprise Edition con Server + Licenza CAL (Client Access License) (non disponibile per nuovi contratti) è limitata a un massimo di 20 core per l'istanza di SQL ServerSQL Server .Enterprise Edition with Server + Client Access License (CAL) based licensing (not available for new agreements) is limited to a maximum of 20 cores per SQL ServerSQL Server instance. Non sono previsti limiti nel modello di licenza server basato su core.There are no limits under the Core-based Server Licensing model.

In un ambiente virtualizzato, il limite della capacità di calcolo è basato sul numero di processori logici non core, perché l'architettura del processore non è visibile alle applicazioni guest.In a virtualized environment, the compute capacity limit is based on the number of logical processors, not cores, because the processor architecture is not visible to the guest applications. Ad esempio, un server con quattro socket popolati con processori quad-core e la capacità di abilitare due Hyper-Thread per core contiene 32 processori logici con l'Hyper-Threading abilitato ma solo 16 processori logici con l'Hyper-Threading disabilitato.For example, a server with four sockets populated with quad-core processors and the ability to enable two hyperthreads per core contains 32 logical processors with hyperthreading enabled but only 16 logical processors with hyperthreading disabled. È possibile eseguire il mapping di questi processori logici alle macchine virtuali sul server con il caricamento del calcolo delle macchine virtuali su quel processore logico di cui si è eseguito il mapping in un processore fisico nel server host.These logical processors can be mapped to virtual machines on the server with the virtual machines’ compute load on that logical processor mapped into a thread of execution on the physical processor in the host server.

È necessario disabilitare l'Hyper-Threading quando le prestazioni per processore virtuale sono importanti.You may want to disable hyperthreading when the performance per virtual processor is important. È possibile abilitare o disabilitare l'Hyper-Threading utilizzando una impostazione BIOS per il processore durante l'impostazione del BIOS, ma è in genere un'operazione con ambito server che avrà un impatto su tutti i carichi di lavoro in esecuzione sul server.One can enable or disable hyperthreading using a BIOS setting for the processor during the BIOS setup, but it is typically a server scoped operation that will impact all workloads running on the server. In tale situazione potrebbe essere consigliabile dividere i carichi di lavoro che saranno in esecuzione negli ambienti virtualizzati da quelli che beneficeranno del miglioramento delle prestazioni dell'Hyper-Threading in un ambiente fisico del sistema operativo.This may suggest separating workloads that will run in virtualized environments from those that would benefit from the hyperthreading performance boost in a physical operating system environment.

Vedere ancheSee Also

Edizioni e componenti di SQL Server 2016 Editions and Components of SQL Server 2016
Funzionalità supportate dalle edizioni di SQL Server 2016 Features Supported by the Editions of SQL Server 2016
Specifiche di capacità massima per SQL Server Maximum Capacity Specifications for SQL Server
Guida introduttiva all'installazione di SQL Server 2016 Quick-Start Installation of SQL Server 2016