Wechseln zu: Navigation, Suche

SQL-Server für JTL-Wawi optimal einrichten

Verwandte Themen


Ihre Aufgabe / Ausgangslage

Sie möchten Ihren ersten Onlineshop aufsetzen, laden JTL-Wawi herunter und installieren sie. Dann noch schnell den Microsoft SQL-Server eingerichtet und los geht’s mit dem Einpflegen der Artikel und dem Aufsetzen des Shops. Alles gar nicht so schwer, oder? Doch in den nächsten Monaten haben Sie zunehmend das Gefühl, dass JTL-Wawi stetig langsamer läuft. Dabei handelt es sich weder um einen Bug, noch um ein Feature – die Lösung liefert der SQL-Server. Denn die optimale Einrichtung Ihrer Datenbank trägt erheblich zur Effizienz und Geschwindigkeit der Warenwirtschaft bei.

Exkurs: Datenbanken – das Was und Wieso

JTL-Wawi nutzt Microsoft SQL-Datenbanken als zentralen Speicherort für jegliche Daten. Dort hinterlegt unsere Software Artikel- und Kundeninformationen für den jeweiligen Mandanten der Software, aber auch jegliche Daten zu Bestellungen, eBay oder Amazon. Da alle Wawi-Installationen innerhalb eines Unternehmens auf die gleiche Datenbank zugreifen müssen, erklärt dies ihren entscheidenden Einfluss auf die Gesamtgeschwindigkeit. Denn je höher die Zahl der Nutzer auf einem womöglich langsamen und unsauber aufgesetzten SQL-Server, desto länger braucht das System, um die gewünschten Datenanfragen abzuarbeiten.

Empfohlene Hardware

Die Wahl der richtigen Hardware ist ein entscheidender Faktor für schnelle Datenzugriffe auf einen SQL-Server.

Anforderungen für alle SQL-Server-Versionen

Der Computer, auf dem der MSSQL-Server läuft, sollte im Idealfall immer folgende Hardwarespezifikationen aufweisen:

    1. Möglichst leistungsstarker Prozessor: Dieser erlaubt dem System, sämtliche Anfragen in kürzester Zeit abzuarbeiten.
    2. Vier verschiedene Festplatten: Da eine SQL-Abfrage mehrere Schreib-Aktionen beinhaltet, kann durch die Verwendung mehrerer Festplatten ein deutlich schnellerer Datendurchsatz erzielt werden. Bitte beachten Sie, dass es nicht ausreicht, lediglich vier verschiedene Festplattenpartitionen einzurichten.

Richten Sie Ihr System im Idealfall wie folgt ein:

    1. Installieren Sie auf dem verwendeten Computer neben dem Betriebssystem nur den SQL-Server.
    2. Festplatte 1: Installieren Sie den SQL-Server auf derselben Festplatte, auf der auch das Betriebssystem installiert ist.
    3. Festplatte 2/3: Speichern Sie sowohl die .mdf-Datei als auch die .log-Datei auf getrennten Datenträgern.
    4. Festplatte 4: Wählen Sie als Speicherort der Temp-DB ebenfalls eine eigene, idealerweise die schnellste Festplatte.

Zusätzliche Anforderungen für Nutzer der Standard-, Enterprise- oder Web-Edition

Während Nutzer der Express-Edition damit bereits die empfohlenen Hardware-Anforderungen erfüllen, gibt es für Besitzer der Standard-, Enterprise- oder Web-Edition einige Unterschiede. Da diese mehr als eine CPU pro Abfrage und mehr Arbeitsspeicher nutzen können, empfehlen wir neben den oben genannten Punkten noch die folgenden:

    1. CPUs: Verwenden Sie je nach Lizenzmodell idealerweise die maximal mögliche Anzahl an CPUs, um die allgemeine Rechenleistung für die großen Datenbanken zu verbessern.
    2. Arbeitsspeicher: Mindestens 8 Gigabyte. So können Sie möglichst viele Daten aus dem schnellen Zwischenspeicher nutzen.

Sind diese Hardware-Anforderungen erfüllt, ist der erste wichtige Schritt getan. Die Infrastruktur für schnelle Datenbankabfragen ist geschaffen.

Software anpassen

Neben der richtigen Hardware sollten Sie auch die Software so einstellen, dass Ihr SQL-Server optimal läuft. Ein SQL-Server kann für maximale Kompatibilität auf verschiedene Versionen gesetzt werden. JTL-Wawi unterstützt ab Version 1.0 alle Varianten zwischen SQL 2008R2 und 2014. Die Kompatibilitätsgrade staffeln sich wie folgt:

    1. SQL 2008R2: 100
    2. SQL 2012: 110
    3. SQL 2014: 120
Öffnen Sie zur Einstellung der Kompatibilität das Microsoft SQL Server Management Studio und melden Sie sich mit Ihren Zugangsdaten an.

Im Objekt-Explorer legen Sie den Kompatibilitätsgrad für Ihren SQL-Server fest.

Klicken Sie mit der rechten Maustaste auf die Datenbank und wählen Sie Eigenschaften.

Es öffnet sich das Dialogfenster Datenbankeigenschaften.

Jtl-wawi-sql-server-001-dateiexplorer.png

Öffnen Sie die Registerkarte Optionen.


Hier finden Sie die Einstellung des Kompatibilitätsgrades des Servers.


Für die bestmögliche Performance setzen Sie Ihren Server auf den tatsächlichen Grad der Version. Verwenden Sie also beispielsweise SQL 2014, sollte der Wert 120 lauten.

Jtl-wawi-sql-server-001-kompatibilitätsgrad.png

Deaktivieren Sie die Optionen Automatisch schließen und Automatisch verkleinern, indem Sie die Option false auswählen.

Die Deaktivierung dieser Funktionen optimiert die Leistung des SQL-Servers.

Jtl-wawi-sql-server-002-autoshrink.png Exkurs: Automatisch verkleinern und Automatisch schließen

Ein wichtiger Faktor für bessere Server-Leistung ist die Deaktivierung von Automatisch schließen und Automatisch verkleinern in der Datenbank. Automatisch verkleinern ist permanent bemüht, die .mdf-Datei zu verkleinern. Das Resultat: Der Server ist kontinuierlich mit sich selbst beschäftigt und fragmentiert zusätzlich die Festplatte. Automatisch schließen leert wiederum jedes Mal den Arbeitsspeicher, wenn alle Verbindungen zum Server geschlossen werden. Das klingt zwar im ersten Moment gut, ist es aber leider nicht. Denn viele wichtige Dateien müssen beim Aufbau der nächsten Verbindung wieder in das RAM geladen werden – erneut sinkt die Performanz des Servers.

Wechseln Sie nun in die Registerkarte Dateien.

Hier können Sie die Größe der MDF- und LOG-Datei einstellen. Dadurch entsteht auf der Festplatte eine durchgängige Datei. Die automatische Erweiterung durch das System hingegen erzeugt eine fragmentierte Version. Auch dies beeinflusst die Geschwindigkeit der Datenbank in negativem Maß.
Klicken Sie für die MDF-Datei in der Spalte Automatische Vergrößerung/Maximale Größe auf die Schaltfläche .

Es öffnet sich das Dialogfenster Automatische Vergrößerung ändern.

Jtl-wawi-sql-server-003-Datenbankeigenschaften.png

Legen Sie unter Dateivergrößerung eine Größe von 500 MB fest. Stellen Sie die Anfangsgröße im Idealfall direkt auf 10 Gigabyte (=10000 Megabyte).

Dies führt dazu, dass Ihre Datenbank diese feste Mindestgröße hat und nur wenn diese erreicht wird, um noch einmal dieselbe Größe vergrößert wird.
Passen Sie auf die gleiche Weise die Dateivergrößerung für die LOG-Datei an. Legen Sie diese auf 100 Megabyte fest.

Schließen Sie die Datenbankeigenschaften für Ihre Datenbank.

Wiederholen Sie die Schritte 7 bis 9 für die Datenbank Temp-DB. Legen Sie als Anfangsgröße sowohl für MDF- als auch für die LOG-Datei 100 Megabyte fest.

Jtl-wawi-sql-server-004-Temp-DB.jpg

Besondere Einstellungen der verschiedenen SQL-Server-Editionen

Sowohl die Express-Edition als auch die Standard-, Enterprise- und Web-Versionen haben einige wenige Eigenheiten bei der Einstellung der Software.

Express-Version

Nutzer der Express-Version sollten nach den oben genannten Schritten noch den Arbeitsspeicher auf 1 Gigabyte beschränken, um die Auslagerung von größeren Dateien auf die Festplatte einzuschränken. Dies geschieht ebenfalls im Microsoft SQL Server Management Studio.

Klicken Sie dazu im Objekt-Explorer mit der rechten Maustaste auf den Server und wählen Sie Eigenschaften.

Es öffnet sich das Dialogfenster Servereigenschaften.
Wechseln Sie in die Registerkarte Arbeitsspeicher.
Geben Sie unter Maximaler Serverarbeitsspeicher „1024 MB“ an.

Jtl-wawi-sql-server-005-Express-Serverarbeitsspeicher.png

Standard-, Enterprise- und Web-Version

Falls Sie die Standard-, Enterprise- oder Web-Version verwenden, treffen Sie nach den oben genannten Schritten folgende Einstellungen:

Legen Sie für jeden vorhandenen CPU-Kern eine weitere .mdf-Datei in der Temp-DB mit einer Anfangsgröße von 100 Megabyte und einer Vergrößerung von 100 Megabyte an.


Da die CPUs parallel arbeiten können, haben sie somit Zugriff auf jeweils eigene Temp-DB-Dateien. Sie müssen nicht alle auf die gleiche zugreifen, ein Flaschenhals wird vermieden. Dies können Sie auch während des aktiven JTL-Wawi-Betriebs ändern.


    1. Klicken Sie dazu im Microsoft SQL Server Management Studio im Objekt-Explorer unter Datenbanken > Systemdatenbanken mit der rechten Maustaste auf die TempDB und wählen Sie Eigenschaften.
    2. Wechseln Sie in die Registerkarte Dateien.
    3. Klicken Sie auf Hinzufügen.


Begrenzen Sie den Arbeitsspeicher auf 80 Prozent des tatsächlich vorhandenen Arbeitsspeichers.

So bleiben dem Betriebssystem genug Ressourcen, so dass hierdurch keine Performance-Einbußen entstehen. Laufen weitere Anwendungen auf dem Rechner, ist eine stärkere Einschränkung auf 60 bis 70 Prozent angebracht.
    1. Klicken Sie dazu im Microsoft SQL Server Management Studio mit der rechten Maustaste auf den Server und wählen Sie Eigenschaften.
    2. Wechseln in die Registerkarte Arbeitsspeicher.
    3. Treffen Sie die entsprechende Einstellung unter Maximaler Arbeitsspeicher.

Jtl-wawi-sql-server-005-Serverarbeitsspeicher.jpg

Begrenzen Sie die maximale Anzahl an parallel arbeitenden CPUs.

Nutzen Sie mehr als vier, raten wir zu der Variante „Hälfte der Menge an CPUs -1“. Wer also acht CPUs im Einsatz hat, sollte maximal drei parallel nutzen. Für vier und weniger CPUs ist der parallele Einsatz von 2 Kernen ideal. Keine Sorge, der Rest Ihrer Prozessoren bleibt derweil nicht untätig. Sie legen mit dieser Definition lediglich die Menge der CPU-Kerne fest, die gleichzeitig an derselben Abfrage arbeiten. So bleibt Ihren Prozessoren genug Leistung, um neben großen Datenbankabfragen für mehr als einen Prozessor auch weiterhin andere Aufgaben und Abfragen mit der restlichen Kapazität zu bearbeiten.

    1. Klicken Sie dazu im Microsoft SQL Server Management Studio mit der rechten Maustaste auf den Server und wählen Sie Eigenschaften.
    2. Wechseln in die Registerkarte Erweitert.
    3. Geben Sie den gewünschten Wert unter Max. Grad an Parallelität ein.

Mit diesen Einstellungen sollte Ihre Datenbank bedeutend flüssiger mit jeglicher Art von Abfragen umgehen können. Um diesen Status auch längerfristig beizubehalten, sollten Sie die Ratschläge im Kapitel „Tipps zur SQL-Server-Wartung“ beachten.


Wie geht es weiter?