Inhaltsverzeichnis

    SQL-Server für JTL-Wawi optimal einrichten

    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.

    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.

    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 folgende Hardwarespezifikationen aufweisen:

    • Möglichst leistungsstarker Prozessor: Dieser erlaubt dem System, sämtliche Anfragen in kürzester Zeit abzuarbeiten.
    • Vier verschiedene Festplatten: Es sollte es sich idealerweise um SSDs handeln, da diese wesentlich leistungsstärker sind. 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 wie folgt ein:

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

    Während Nutzer der Express-Edition damit bereits die empfohlenen Hardware-Anforderungen erfüllen, gibt es für Besitzer der Standard- oder Enterprise-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:

    • 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.
    • Arbeitsspeicher: Mindestens 32 Gigabyte. Je mehr Speicher, desto besser. 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.

    Konfiguration

    Kompatibilitätsgrad

    Neben der richtigen Hardware sollten Sie einige grundsätzliche Software-Einstellungen vornehmen. Ein SQL-Server kann für maximale Kompatibilität auf verschiedene Versionen gesetzt werden. JTL-Wawi unterstützt ab Version 1.4 alle Varianten zwischen SQL 2014 und 2019. Verwenden Sie immer den höchstmöglichen Kompatibilitätsgrad.

    1. Ö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.
    2. Klicken Sie mit der rechten Maustaste auf die Datenbank und wählen Sie Eigenschaften. Es öffnet sich das Dialogfenster Datenbankeigenschaften.
    1. Ö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.

    Deaktivierung von Automatisch schließen und Automatisch verkleinern (AutoClose / AutoShrink)

    1. 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.

    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.

    1. 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ß.
    2. 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.
    1. 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.
    2. 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.

    1. Wiederholen Sie die Schritte 6 bis 8 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.

    ServicePacks und Updates

    Damit die Software immer auf aktuellem Stand ist, spielen Sie sobald wie möglich verfügbare Updates und ServicePacks für Ihren SQL Server ein.

    Die neuesten Aktualisierungen finden Sie hier: Microsoft SQL Server-Updates

    Wichtig: Automatische Datensicherung

    Richten Sie in jedem Fall eine automatische Datensicherung ein, die mindestens einmal täglich eine Sicherung Ihrer Datenbanken durchführt. Die Sicherung sollte auf ein zweites Laufwerk oder einen anderen PC gespeichert werden!

    Lesen Sie für weitere Informationen die Dokumentation von Microsoft: Datensicherung für SQL-Server.

    Besondere Einstellungen der verschiedenen SQL-Server-Editionen

    Sowohl die Standard-Edition als auch die Enterprise-Version haben einige wenige Eigenheiten bei der Einstellung der Software.

    Standard- und Enterprise-Version

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

    1. 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.
    • 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.
    • Wechseln Sie in die Registerkarte Dateien.
    • Klicken Sie auf Hinzufügen.
    1. 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.
    • Klicken Sie dazu im Microsoft SQL Server Management Studio mit der rechten Maustaste auf den Server und wählen Sie Eigenschaften.
    • Wechseln Sie in die Registerkarte Arbeitsspeicher.
    • Treffen Sie die entsprechende Einstellung unter Maximaler Arbeitsspeicher.
    1. 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.
    • Klicken Sie dazu im Microsoft SQL Server Management Studio mit der rechten Maustaste auf den Server und wählen Sie Eigenschaften.
    • Wechseln Sie in die Registerkarte Erweitert.
    • Geben Sie den gewünschten Wert unter Max. Grad an Parallelität ein. Dieser Wert sollte auf keinen Fall auf 0 bleiben. Geben Sie mindestens 2, höchstens aber 8 ein.
    • Setzen Sie unter Parallelität den Kostenschwellenwert für Parallelität auf 75

    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.

    Weiterführende Informationen im JTL-Blog

    Noch mehr Informationen wie Sie Ihre SQL-Datenbank optimal einrichten und die Server warten, um eine optimale Wawi-Performance zu gewährleisten, erhalten Sie in unserem Blog:

    SQL-Datenbank optimal einrichten

    Tipps zur Server-Wartung