Evita le CPU principali discrepanze - AWS Guida prescrittiva

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Evita le CPU principali discrepanze

La scelta di un server con un numero di core superiore a quello coperto dalle licenze può causare CPU distorsioni e sprechi di energia. CPU Ciò è dovuto alla mappatura tra core logici e core effettivi. Quando si utilizza SQL Server con una licenza di accesso client (CAL), alcuni scheduler lo saranno VISIBLE ONLINE e gli altri lo saranno. VISIBLE OFFLINE Ciò può causare problemi di prestazioni con topologie di accesso alla memoria (NUMA) non uniformi, a causa del mancato utilizzo ottimale dei nodi di pianificazione.

Ad esempio, se esegui SQL Server su un'm5.24xlargeistanza, rileverà due socket con 24 core e 48 processori logici per socket, il che si traduce in un totale di 96 processori logici. Se disponi di una licenza per soli 48 core, nel log degli errori del SQL server verrà visualizzato un messaggio simile al seguente:

2020-06-08 12:35:27.37 Server SQL Server ha rilevato 2 socket con 24 core per socket e 48 processori logici per socket, 96 processori logici in totale; utilizzando 48 processori logici basati sulle licenze Server. SQL Questo è un messaggio informativo; non è richiesta alcuna azione da parte dell'utente.

Se vedi una differenza tra il numero totale di core e il numero di core utilizzati dal SQL Server, verifica lo squilibrio nell'CPUutilizzo o utilizza un tipo di server con lo stesso numero di core supportato dalla licenza.

CPUskew: per il tipo di istanza nel nostro esempio (m5.24xlarge), SQL Server crea otto nodi per impostazione predefinita. NUMA Solo quattro di questi nodi (ID nodo principale 0,1,2,3) dispongono di scheduler con lo stato. VISIBLE ONLINE Le pianificazioni rimanenti sono tutte. VISIBLE OFFLINE Questa disparità tra gli scheduler può portare a un peggioramento delle prestazioni.

Per controllare le informazioni e lo stato dello scheduler, usa:

$ select * from sys.dm_os_schedulers

Se desideri utilizzare un'istanza server con un numero di core superiore a quello supportato dalla licenza SQL Server, valuta la possibilità di personalizzare il numero di core seguendo le istruzioni in Specificare le CPU opzioni per l'istanza nella documentazione di Amazon. EC2