Vermeiden Sie Diskrepanzen zwischen den CPU-Kernen - AWS Präskriptive Leitlinien

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Vermeiden Sie Diskrepanzen zwischen den CPU-Kernen

Wenn Sie einen Server wählen, der über eine höhere Anzahl von Kernen verfügt, als Ihre Lizenz abdeckt, kann dies zu CPU-Verzerrungen und zu einer Verschwendung von CPU-Leistung führen. Dies liegt an der Zuordnung zwischen logischen und tatsächlichen Kernen. Wenn Sie SQL Server mit einer Client Access License (CAL) verwenden, werden einige SchedulerVISIBLE ONLINEund der Rest wird seinVISIBLE OFFLINE. Dies kann zu Leistungsproblemen bei Non-Uniform Memory Access (NUMA) -Topologien führen, da die Scheduler-Knoten nicht optimal genutzt werden.

Wenn Sie beispielsweise SQL Server auf einem ausführenm5.24xlargeBeispielsweise erkennt es zwei Sockets mit 24 Kernen und 48 logische Prozessoren pro Socket, was insgesamt 96 logische Prozessoren ergibt. Wenn Sie eine Lizenz für nur 48 Kerne haben, wird im SQL Server-Fehlerprotokoll eine Meldung ähnlich der folgenden angezeigt:

2020-06-08 12:35:27.37 Server SQL Server hat 2 Sockets mit 24 Kernen pro Socket und 48 logischen Prozessoren pro Socket erkannt, insgesamt 96 logische Prozessoren; es wurden 48 logische Prozessoren verwendet, basierend auf der SQL Server-Lizenzierung. Dies ist eine Informationsmeldung; es ist keine Benutzeraktion erforderlich.

Wenn Sie einen Unterschied zwischen der Gesamtzahl der Kerne und der Anzahl der von SQL Server verwendeten Kerne feststellen, überprüfen Sie, ob ein Ungleichgewicht bei der CPU-Auslastung besteht, oder verwenden Sie einen Servertyp mit derselben Anzahl von Kernen, die Ihre Lizenz unterstützt.

CPU-Verzerrung:Geben Sie für die Instanz in unserem Beispiel ein (m5.24xlarge) erstellt SQL Server standardmäßig acht NUMA-Knoten. Nur vier dieser Knoten (Elternknoten-ID 0,1,2,3) haben Scheduler mit dem StatusVISIBLE ONLINE. Die übrigen Zeitpläne sind alleVISIBLE OFFLINE. Diese Ungleichheit zwischen den Schedulern kann zu Leistungseinbußen führen.

Um die Scheduler-Informationen und den Status zu überprüfen, verwenden Sie:

$ select * from sys.dm_os_schedulers

Wenn Sie eine Serverinstanz verwenden möchten, die über eine höhere Anzahl von Kernen verfügt, als Ihre SQL Server-Lizenz unterstützt, sollten Sie die Anzahl der Kerne anpassen. Folgen Sie dazu den Anweisungen unterCPU-Optionen für Ihre Instance angebenin der Amazon EC2-Dokumentation.