Microsoft SQL Server-Speicherkonfiguration
Im folgenden Abschnitt wird das Konfigurieren der Speichereinstellungen des SQL-Servers erläutert, um die Datenbankleistung zu optimieren.
Max. Serverspeicher
Mit der Option „Max. Serverspeicher“ wird die maximale Speichergröße festgelegt, die die SQL Server-Instanz verwenden kann.
Sie wird in der Regel verwendet, wenn mehrere Anwendungen auf demselben Server ausgeführt werden, auf dem SQL Server ausgeführt wird, und Sie sicherstellen möchten, dass diese Anwendungen über genügend Arbeitsspeicher verfügen, um ordnungsgemäß zu funktionieren.
Einige Anwendungen verwenden nur den verfügbaren Speicher, wenn sie starten, und fordern nicht mehr an, selbst wenn nötig. Hier kommt die maximale Serverspeichereinstellung ins Spiel.
Auf einem SQL Server-Cluster mit mehreren SQL Server-Instanzen könnte jede Instanz mit Ressourcen konkurrieren. Durch die Festlegung einer Speichergrenze für jede SQL Server-Instanz kann eine optimale Performance für jede Instanz gewährleistet werden.
NetApp empfiehlt, mindestens 4 GB bis 6 GB RAM für das Betriebssystem zu belassen, um Leistungsprobleme zu vermeiden. |
Anpassen des minimalen und maximalen Serverspeichers mit SQL Server Management Studio
Die Verwendung von SQL Server Management Studio zur Anpassung des minimalen oder maximalen Serverspeichers erfordert einen Neustart des SQL Server-Dienstes. Sie können den Serverspeicher mithilfe von Transact SQL (T-SQL) mit diesem Code anpassen:
EXECUTE sp_configure 'show advanced options', 1 GO EXECUTE sp_configure 'min server memory (MB)', 2048 GO EXEC sp_configure 'max server memory (MB)', 120832 GO RECONFIGURE WITH OVERRIDE
Uneinheitlicher Speicherzugriff
NUMA (Ununiform Memory Access) ist eine Methode zur Optimierung des Speicherzugriffs, die dazu beiträgt, die Prozessorgeschwindigkeit zu erhöhen, ohne die Last auf den Prozessorbus zu erhöhen.
Wenn NUMA auf dem Server konfiguriert ist, auf dem SQL Server installiert ist, ist keine zusätzliche Konfiguration erforderlich, da SQL Server NUMA-fähig ist und auf NUMA-Hardware eine gute Performance erzielt.
Index Speicher erstellen
Die Option Index create Memory ist eine weitere erweiterte Option, die Sie normalerweise nicht ändern sollten.
Er steuert die maximale RAM-Größe, die ursprünglich für die Erstellung von Indizes zugewiesen wurde. Der Standardwert für diese Option ist 0, was bedeutet, dass sie von SQL Server automatisch verwaltet wird. Wenn Sie jedoch Schwierigkeiten beim Erstellen von Indizes haben, sollten Sie den Wert dieser Option erhöhen.
Min. Arbeitsspeicher pro Abfrage
Wenn eine Abfrage ausgeführt wird, versucht SQL Server, die optimale Speichergröße für eine effiziente Ausführung zuzuweisen.
Standardmäßig weist die Einstellung Min. Speicher pro Abfrage >= bis 1024 KB für jede auszufüllende Abfrage zu. Es empfiehlt sich, diese Einstellung auf den Standardwert 0 zu belassen, damit SQL Server die für Indexerstellung zugewiesene Speichermenge dynamisch verwalten kann. Wenn SQL Server jedoch über mehr RAM verfügt, als für eine effiziente Ausführung erforderlich ist, kann die Leistung einiger Abfragen erhöht werden, wenn Sie diese Einstellung erhöhen. Solange also auf dem Server, der nicht von SQL Server verwendet wird, Speicher verfügbar ist, können andere Anwendungen oder das Betriebssystem diese Einstellung erhöhen, was die gesamte SQL Server-Leistung verbessern kann. Wenn kein freier Speicher verfügbar ist, kann eine Erhöhung dieser Einstellung die Gesamtleistung beeinträchtigen.
Pufferpool-Erweiterungen
Die Pufferpool-Erweiterung ermöglicht die nahtlose Integration einer NVRAM-Erweiterung in den Puffer-Pool der Datenbank-Engine und sorgt so für eine deutliche Steigerung des I/O-Durchsatzes.
Die Pufferpool-Erweiterung ist nicht in jeder SQL Server-Edition verfügbar. Es ist nur mit den 64-Bit-Editionen SQL Server Standard, Business Intelligence und Enterprise verfügbar.
Die Funktion zur Erweiterung des Puffer-Pools erweitert den Cache des Puffers auf nicht-flüchtigen Storage (in der Regel SSDs). Durch die Erweiterung kann der Puffer-Pool einen größeren Datenbank-Arbeitsdatensatz aufnehmen. So wird der Ausruf von I/O zwischen dem RAM und den SSDs erzwungen und kleine zufällige I/O-Vorgänge werden von mechanischen Festplatten auf SSDs ausgelagert. Aufgrund der geringeren Latenz und besseren zufälligen I/O-Performance von SSDs verbessert die Pufferpool-Erweiterung den I/O-Durchsatz erheblich.
Die Funktion zur Erweiterung des Puffer-Pools bietet folgende Vorteile:
-
Erhöhter Durchsatz von zufälligen I/O-Operationen
-
Geringere I/O-Latenz
-
Erhöhter Transaktionsdurchsatz
-
Verbesserte Lese-Performance mit einem größeren hybriden Puffer-Pool
-
Eine Caching-Architektur, die die Vorteile eines vorhandenen und künftig kostengünstigen Speichers nutzt
NetApp empfiehlt, die Pufferpool-Erweiterungen so zu konfigurieren:
|
Das folgende Beispiel zeigt einen T-SQL-Befehl zum Einrichten einer Pufferpool-Erweiterung von 32 GB.
USE master GO ALTER SERVER CONFIGURATION SET BUFFER POOL EXTENSION ON (FILENAME = ‘P:\BUFFER POOL EXTENSION\SQLServerCache.BUFFER POOL EXTENSION', SIZE = 32 GB); GO