Gelöst SQL-Server optimieren

  • Temporäre Senkung der Mehrwertsteuer Hier findet ihr gesammelt alle Informationen, Videos und Fragen inkl. Antworten: https://forum.jtl-software.de/threads/mehrwertsteuer-senkung-vom-01-07-31-12-2020-offizieller-diskussionthread-video.129542/
Status
Es sind keine weiteren Antworten möglich.

DerDima

Aktives Mitglied
29. April 2016
28
2
Bielefeld
Hallo zusammen.

Ich würde gerne den SQL Server nach der hier extrem bescheidenenen "Anleitung" optimieren:

https://guide.jtl-software.de/jtl-wawi/installation/sql-server-optimal-einrichten/

Leider wird in keinem Satz erwähnt, wie ich die mdf-Datei, die . log-Datei und die Temp-DB auf andere Platten auslagern kann.

Hat jemand diese Oprimierung bereits durchgeführt und kann mir helfen?

Ich habe einen Server mit insgesamt 5 Platten. 2 SSD´s im RAID 1, auf die ich das Betriebssystem, die SQL Datenbank und die WaWi selbst einspielen würde.

2 HDD´s laufen ebenfalls im RAID 1. Hier sollten die mdf-Datei und die .log-Datei drauf. Es wird zwar empfohlen, dass für jede Datei je eine Platte genutzt wird, aber das kann ich nicht realisieren, denn auf das RAID möchte ich hier nicht verzichten. Dann würde eine einzelne SSD für die Temp-DB Datei eingesetzt werden.

Was haltet ihr von der Konstelation?
 

elevennerds.de

Sehr aktives Mitglied
23. September 2015
995
128
2 SSD´s im RAID 1, auf die ich das Betriebssystem, die SQL Datenbank und die WaWi selbst einspielen würde.
Sehr schlechte Kombination, weil das Dateisystem, auf dem die SQL-Dateien liegen mit 64kb-Blöcken formatiert sein sollte, da der MSSQL darauf optimiert ist. Dein Betriebssystem kannst Du jedoch nicht auf solch einer Festplatte installieren. Deswegen sollte man Betriebssystem und SQL-Dateien immer auf gesonderten Datenträgern installieren.
 

JTL_fwenzl

WMS Entwickler
Mitarbeiter
15. Dezember 2017
161
47
Hürth
Hallo zusammen,

Also die Datendateien von einer SSD auf eine Festplatte zu verschieben, ist auf keinen Fall eine Optimierung hinsichtlich der Performance.

Welche Probleme sollen mit der Aktion denn gelöst werden?

Einfach blind optimieren, ist keine gute Idee und kann auch zu deutlich schlechteren Ergebnissen führen.

Es gibt eine Reihe von Gründen, warum generell empfohlen wird, das Log und die Datendatei auf getrennten Festplatten zu halten. Aber diese Empfehlung bezieht sich auf Fesplatten, nicht SSDs.

Gruß,
Frank
 

DerDima

Aktives Mitglied
29. April 2016
28
2
Bielefeld
Sehr schlechte Kombination, weil das Dateisystem, auf dem die SQL-Dateien liegen mit 64kb-Blöcken formatiert sein sollte, da der MSSQL darauf optimiert ist. Dein Betriebssystem kannst Du jedoch nicht auf solch einer Festplatte installieren. Deswegen sollte man Betriebssystem und SQL-Dateien immer auf gesonderten Datenträgern installieren.
Das verstehe ich nun gar nicht, sorry. Aber irgendiwe widerspricht diene Aussage der kompletten Anleitung von JTL. Denn hiernach soll ja das Betriebssystem und der SQL Server auf ein und die selbe Platte.

Hallo zusammen,

Also die Datendateien von einer SSD auf eine Festplatte zu verschieben, ist auf keinen Fall eine Optimierung hinsichtlich der Performance.

Welche Probleme sollen mit der Aktion denn gelöst werden?

Einfach blind optimieren, ist keine gute Idee und kann auch zu deutlich schlechteren Ergebnissen führen.

Es gibt eine Reihe von Gründen, warum generell empfohlen wird, das Log und die Datendatei auf getrennten Festplatten zu halten. Aber diese Empfehlung bezieht sich auf Fesplatten, nicht SSDs.

Gruß,
Frank
Ich würde nichts verschieben, sondern bei einem Neuaufsetzen die jeweiligen Daten direkt wie empfohlen auslagern. Das Auslagern würde, wie oben beschriben auf ein HDD RAID geschehen. Nur die Temp-DB würde ich auf eine separate, zusätzliche SSD packen. Es gibt auch keine Probleme. Ich möchte einfach nur, dass das System optimal läuft. Und wieso ist das "Optimieren" keine gute Idee, wo es doch in der Dokumentation von JTL selbst empfohlen wird? Wo sind da die Nachteile?

https://forum.jtl-software.de/attachments/sql1-png.30002/

Hab ich damals auch nicht so adhoc gewusst ;)

Bei der Installation des SQL-Servers dort einfach den Pfad angeben.

Mein Geraffel läuft "nur" auf drei SSDs, ist aber ein gewaltiger Unterschied zu der vorherigen Konstellation, wo alles auf einer Platte lag.
Das hilft, vielen Dank :)! Hast du denn deine mdf-Datei und die .log-Datei ebenfalls auf einer einzelnen Platte?
 

JTL_fwenzl

WMS Entwickler
Mitarbeiter
15. Dezember 2017
161
47
Hürth
Hallo,

mal anders, für die Performance des SQL Servers ist die IO-Leistung das Wichtigste. Also die Schreib- und Lesegeschwindigkeit.

Also SSD ist immer besser als HDD. Also die ldf und mdf, wenn möglich immer auf SSD.
Andere Faktoren wirken sich viel geringer aus. 64k Formatierung etc.

Wenn Datei jeweils auf einer eigenen ssd liegt (vorzugsweise an einem eigenen Controller), dann sind Schreib- und Lesevorgänge auf log und daten gleichzeitig mit voller Geschwindigkeit möglich.

Gruss,
Frank
 

DerDima

Aktives Mitglied
29. April 2016
28
2
Bielefeld
Vielen Dank für eure Hilfestellungen.

Ich bin leider kein IT Experte und würde mir einfache, aber nachvollziehbare Argumente wünschen.

Ich versuche noch einmal ganz einfach zu erläutern, wie ich es mir vorstelle und komme dann zu explizieteren Fragen, vielleicht kommen wir dann auf einen gemeinsamen Nenner :).
  • 2 SSD´s im RAID 1 = Betriebssystem (Win 10 Pro) / SQL Server / JTL WaWi
  • 2 HHD´s im RAID 1 = mdf-Datei und die .log-Datei
  • 1 SSD = Temp-DB
Nun zu den Fragen zu dem Vorhaben:
  • Wäre diese Konstellation besser, als wenn man einfach alles auf die SSD´s schmeist? Aktuell ist es nämlich so. Alles ist einfach auf Laufwerk C (2 SSD´s im RAID 1) installiert.
  • Was passiert bei einem Ausfall / Defekt der 3. SSD, auf der sich die Temp-DB befindet? Ist das gesamte System damit hin, oder kann man eine neue Platte anschließen, das BackUp der Temp-DB aufspielen und gut ist.
  • Wenn komplett davon abzuraten ist, die mdf-Datei und die .log-Datei auf die selbe HDD zu packen, würde ich statt dieser auf 2 SSD´s ausweichen. Wie sieht es hier mit der Sicherheit aus. Diese würden dann ja nicht im RAID laufen. Kann oben genannter Schritt bei Festplattenausfall durchgeführt werden?
Diese Fragen stellen sich mir, da ich nicht nachvollziehen kann, wie man das Thema SQL Datenbank Otimierung und Sicherheit unter einen Hut bekommt (ich möchte mir keinen Schrank anschaffen, in dem nur wegen der WaWi 8 SSD´s laufen, um ein RAID zu ermöglichen). Wenn ich es richtig verstehe, sollte man die Platten für nichts anderes Verwenden. Also habe ich noch nicht einmal eingerechnet, dass ich noch "Datenmüll" abspeichern möchte.
 

Nobby

Gut bekanntes Mitglied
23. April 2009
240
9
Richtig, .mdf sowie . log liegen auf jeweils eigenen Platten, das OS, SQL-Server und die Wawi ansich ebenfalls auf einer eigenen Platte.
Wir nutzen auch nur SSDs, keine HDDs, die vorher mit 64-k-Blöcken formatiert wurden (Tip von Rico Geissler), ausser die Systemplatte,und nach der Installation bin ich noch die Schritte zur Optimierung durchgegangen.

Wir arbeiten mittlerweile zu fünft meistens zeitgleich darauf, 1x Mac und 1x MacBook per RDP, 2x Debian per RDP und ein Win10-Rechner mit Clientinstallation und wenn man vom eigentlichen Start absieht (20-30 Sekunden) lässt sich damit sehr gut und vor allem sehr flüssig arbeiten.
 

DerDima

Aktives Mitglied
29. April 2016
28
2
Bielefeld
Richtig, .mdf sowie . log liegen auf jeweils eigenen Platten, das OS, SQL-Server und die Wawi ansich ebenfalls auf einer eigenen Platte.
Wir nutzen auch nur SSDs, keine HDDs, die vorher mit 64-k-Blöcken formatiert wurden (Tip von Rico Geissler), ausser die Systemplatte,und nach der Installation bin ich noch die Schritte zur Optimierung durchgegangen.

Wir arbeiten mittlerweile zu fünft meistens zeitgleich darauf, 1x Mac und 1x MacBook per RDP, 2x Debian per RDP und ein Win10-Rechner mit Clientinstallation und wenn man vom eigentlichen Start absieht (20-30 Sekunden) lässt sich damit sehr gut und vor allem sehr flüssig arbeiten.
Wie handhabt ihr das Thema Sicherheit? Nutzt ihr die SSD´s alle im RAID? Also mit insgesamt 8 Platten, oder verlasst ihr euch einzig auf die BackUps.

Ich habe in der Vergangenheit schon 2 Mal den Fall gehabt, dass eine Platte ausfiel (WD Red, also für den Serverbetrieb geeignet). Wenn ich mir nun vorstelle, dass ich dann immer gleich alles neu aufsetzen müsste...

Gerade SSD´s sind anfälliger, wenn sie im 24/7 Betrieb laufen.

Irgendwie will mir keine vernünftige Lösung einfallen.
 

christianp

Aktives Mitglied
4. Mai 2015
71
2
Ennepetal
Guten morgen zusammen, ich habe auch einiges getestet um die Wawi Performance zu steigern. Die besten Ergebnisse habe ich mit NVMe Disks erreicht. Wenn vernünftige NVMe Disks verbaut sind, brauchen die .mdf und .logs nicht aufgeteilt werden. Der zweite Performance Schub ist das ganze auf einem Terminalserver zu nutzen, da so die Datenmengen nicht mehr vom Client zum Server übe das "normale" Netzwerk gesendet werden müssen.
In der heutigen Zeit würde ich in jedem Fall von HDDs absehen. (Gerade für SQL Server).
Zwei NVMe Disks funktionieren auch sehr Performant mit einem Software RAID1.

Beispiel für eine gute / günstige Konfiguration ist:
2 x SSD für Betriebssystem - Software RAID1
2 x NVMe für SQL Server - Software RAID1
1x NAS für Backups
CPU, RAM etc nach Anforderung
 

MartinK

Moderator
Mitarbeiter
5. Dezember 2013
79
13
Man kann die Aufteilung der Daten natürlich beliebig weit treiben. Im Idealfall legt man alles jeweils ein auf Raid 10. Der wichtigste Schritt ist aber die Auftrennung von SQL Server Dateien zu den restlichen Dateien. Einfach aus dem Grund, dass der SQL Server Daten in 64kB Blöcken liest und man dann die Festplatten in 64k formatieren sollte.
Wenn man möglichst viele von den folgenden Punkten beachtet ist man auf dem richtigen Weg:

1. Datendateien und Windows plus SQL Server Installation trennen auf verschiedene Festplatten.
2. Temp DB auf die schnellste Platte. Allerdings ist hier die Ausfallsicherheit nicht so entscheidend, da die Datenbank bei jedem Neustart des Servers neu erstellt wird.
3. Wenn man die Option hat .ldf und .mdf Dateien auch noch auf verschiedene Platten zu legen gewinnt man zusätzliche Performance

Für alles gilt aber natürlich, dass die Geschwindigkeit der Platten entscheidend ist.
Wenn man in dem Beispiel von oben ausgeht wäre z.b. die Frage ob man nicht Windows und den SQL Server auf den HDDs installiert und die Serverdateien auf die SSDs auslagert, vorausgesetzt hier laufen nur Windows und der SQL Server, da bei den SQL Server Daten dann die meisten Zugriffe auf die Festplatte entstehen.
 

gnarx

Sehr aktives Mitglied
18. Januar 2018
2.663
269
Man kann auch nachträglich die Dateien verschieben auf andere Laufwerke, das ist aber etwas tricky.
Einfacher ist es bei der SQL Installationen (TAB Dateien) den Dateien Laufwerke zu zuweisen.
Es gibt aber auch noch die Möglichkeit bei der Installation der Eazybusiness Datenbank das zu bestimmen wo die Daten hin sollen.
 

Nobby

Gut bekanntes Mitglied
23. April 2009
240
9
Nein, RAID nutzen wir nicht, die Sicherheit ist gewährleistet durch ein Backup alle 30 Minuten auf ein NAS, welches im Anschluss das Backup auf ein zweites NAS kopiert, welches wiederum täglich nochmals gesichert wird auf USB.
Wenn mal tatsächlich eine Platte ausfallen sollte: ein exakt gleicher Server steht in der Ecke, quasi fertig installiert, heisst anklemmen, Windows updaten, Wawi auf den aktuellen Stand bringen, Backup einspielen. Dauert ca. ein-zwei Stunden, da kann man m.M.n. verschmerzen.

Haltbarkeit SSD: in meinem alten Mac von 2011 werkelt seit 2014 eine Samsung Evo 850, anstandslos im Dauerbetrieb ;)
 

_simone_

Sehr aktives Mitglied
17. Februar 2013
2.884
291
Emsland
Ich habe in der Vergangenheit schon 2 Mal den Fall gehabt, dass eine Platte ausfiel (WD Red, also für den Serverbetrieb geeignet). Wenn ich mir nun vorstelle, dass ich dann immer gleich alles neu aufsetzen müsste...

Gerade SSD´s sind anfälliger, wenn sie im 24/7 Betrieb laufen.

Irgendwie will mir keine vernünftige Lösung einfallen.
Ab und zu und nach Veränderungen am System ein Klon von der Platte erstellten (dd, Clonzilla, ...) Im Falle des Falles; restore auf die neue Platte...fertig in ~15min.
 

maydo

Sehr aktives Mitglied
28. März 2011
2.119
80
DE-Fulda
ein Raid ersetzt niemals ein Backup, das sollte soweit klar sein.

Wir fahren seit Jahren schon ohne Probleme, DB auf einer Ubuntu VM auf einem Raid 5 + Hotspare (es könnten theoretisch zwei Platten ausfallen, nicht zeitgleich)
Die VM an sich wird alle 24h inkrementell gesichert, (was nicht ganz so wichtig ist) ein neues Ubuntu VM ist ziemlich schnell installiert. (vermutlich sogar schneller als man das Backup eingespielt hat :))


Was wichtiger ist, ist die DB zu sichern, hier werfen wir stündlich einen DB Dump raus und sichern diesen auf zwei Netzlaufwerken, beide Netzlaufwerke werden noch zusätzlich stündlich gesnapshotted.
Hat uns schon mehrmals den Kopf gerettet :)) aber toi toi toi, bis jetzt noch keinen schweren Datenverlust gehabt.
 

DerDima

Aktives Mitglied
29. April 2016
28
2
Bielefeld
Jap, auch ich bin sehr vorsichtig und möchte auch nicht ohne RAID arbeiten.

Natürlich ersetzt ein RAID niemals eine Datensicherung. Diese führen wir sowohl räumlich getrennt auf einer eigenen Hardware, als auch zusätzlich in einer Cloud durch. Die WaWi DB wird dabei alle 10 Minuten gesichert. Die Sicherungen bleiben für 3 Tage bestehen und werden dann automatisch gelöscht.

Nun bin ich am überlegen, ob ich das BS und die Software auf einem SSD RAID installiere und die Dateien, die ausgelagert werden sollen, jeweils auf einer einzelnen SSD ohne RAID. Dies, weil mir schlicht der Platz im Kasten fehlt (HP Microserver Gen8 - dieser fasst maximal 5 SSD´s).

2 Fragen bleiben mir dann aber noch:
  • Wie groß sollten die SSD´s maximal für die mdf-Datei, die .log-Datei und die Temp-DB sein? Reichen 128er Platten, oder sollte ich hier auf die 500er setzen?
  • Was passiert im folgenden Fall: eine der Platten, auf der sich entweder die mdf-Datei oder die . log-Datei befindet, nimmt schaden. Wie reagiert das System und was habe ich in dem Fall zu tun? Bei der Temp-DB habe ich ja laut @MartinK nichts zu beführchten, da diese nach einem Neustart des Servers neu erstellt wird.
 

MartinK

Moderator
Mitarbeiter
5. Dezember 2013
79
13
Sobald die mdf oder ldf Dateien Schaden nehmen hast du ein Problem mit der Datenbank. Anstatt ldf und mdf zu trennen würde ich empfehlen die beiden auf ein gemeinsames Raid zu packen. Klar ist es nicht so performant wie beide auf getrennten Platten zu lassen aber der unterschied sollte nicht so groß sein. Bzw. wenn doch nötig könnte man es später mit etwas Aufwand ja doch noch wieder ändern. Grundsätzlich muss man das natürlich noch mit dem Backupmodell das man wählt abwägen. Wer z. B. Log Backups alle 5min macht kann einem Plattenverlust etwas "entspannter" entgegensehen als jemand der nur einmal am Tag ein vollständiges Backup macht.

Normalerweise sollte die Temp DB nicht zu groß werden. Allerdings kann sie bspw. während großer Imports doch anwachsen und gerade bei neuen SQL Servern muss man beachten, dass hier pro CPU Core ein File angelegt wird und die auch gleichmäßig wachsen, bzw. immer gleich groß sind. Die Daten werden dort zwar möglichst gleichmäßig verteilt aber es kann schon mal passieren dass die Temp DB dadurch etwas größer wird. Ich habe selber noch keine Temp DB bei einer JTL-Wawi Datenbank gesehen die größer als 128GB war, aber man kann es natürlich nicht garantieren.
 

maydo

Sehr aktives Mitglied
28. März 2011
2.119
80
DE-Fulda
ldf mdf und tempdb auf separaten ssds haben wir vor zwei Jahren etwa experimentiert.
der Geschwindigkeitsvorteil war jedoch nicht so berauschend, bestimmt messbar schneller, gefühlt war jedoch nicht viel unterschied.
von daher empfehle ich alles beisammen zu lassen. (Verwaltungsaufwand)
von der Größe her können die Dateien schon enorm anwachsen. (die Größe einer ssd hat keine Auswirkungen auf seine Geschwindigkeit)
20190513134423.jpg
 
Status
Es sind keine weiteren Antworten möglich.
Ähnliche Themen Forum Antworten Erstelldatum des Themas
Neu SQL-Server / JTL-WaWi Arbeitsspeicher Auslastung User helfen Usern - Fragen zu JTL-Wawi 0
Neu Probleme beim Installieren von SQL Server Installation von JTL-Wawi 15
Gelöst jtl wawi sql server ebay_user ändern eBay-Anbindung - Fehler und Bugs 1
Neu SQL Server Sortierung Fehlerhaft auf Synology Docker SQL unter Linux Installation von JTL-Wawi 1
Neu Setup für SQL Server 2017 Warnung Windows Firewall Installation von JTL-Wawi 1
Neu Welchen SQL Server? Installation von JTL-Wawi 3
Neu SQL Server hat einen logischen, konsistenzbasierten E/A-Fehler gefunden: Falsche Prüfsumme (erwartet: 0xddb6cd45; tatsächlich: 0x933cd14a). Gelöste Themen in diesem Bereich 1
Neu JTL-WAWI auf SQL Server in Google Cloud Installation von JTL-Wawi 1
Neu Suche: Hardwaretipps für neuen SQL Server User helfen Usern - Fragen zu JTL-Wawi 13
Neu Fehler Installation SQL Server VS Shell-Installation Exitcode 1638 Installation von JTL-Wawi 1
Neu Rechner neu aufgesetzt und nun wegen SQL?? Installation von JTL-Wawi 2
Neu Fehlermeldung beim installieren vom der SQL Datenbank Installation von JTL-Wawi 0
Neu SQL Zugangsdaten müssen pro Bentuzer per Hand eingegeben werden Installation von JTL-Wawi 8
In Bearbeitung SQL sa benutzer passwort änderung JTL-Wawi - Fehler und Bugs 3
Neu SQL Abfrage Rechnungspositionen und Preise User helfen Usern - Fragen zu JTL-Wawi 0
Neu Erwartete Lieferzeit per SQL abfragen JTL-Wawi - Ideen, Lob und Kritik 2
Neu Worst Case eingetreten- SQL Server2019 Testzeitraum Ende, kein Zugriff mehr auf die Datenbank, Datenbank lässt sich nicht wiederherstellen (mit Bild) Installation von JTL-Wawi 12
Neu Daten aus SQL Datenbank - Menge pro Lager im Lager Schnittstellen Import / Export 6
Neu Bestehende Aufträge per SQL von 19% auf 16% bei gleichen Bruttopreisen ändern User helfen Usern - Fragen zu JTL-Wawi 1
Neu SQL Abfrage - WMS Lagerplatz - Flop Artikel Individuelle Listenansichten in der JTL-Wawi 0
Neu SQL Import CSV - Fehler (3948) Loading local data is disabled Schnittstellen Import / Export 13
Neu Suche Unterstützung für Workflow Anlage SQL Abfrage Prüfung eigener Lagerbestand Dienstleistung, Jobs und Ähnliches 2
Neu XML - Auftragsimport - SQL Tabelle tXMLBestellImport User helfen Usern - Fragen zu JTL-Wawi 4
Neu Speicherung in SQL DB? Servicedesk (Beta) 66
Neu Performance WMS-Mobile local VS server Arbeitsabläufe in JTL-WMS 0
Neu WAWI DB Server langsam? Installation von JTL-Wawi 5
Gelöst Der JTL-ShippingLabels-Server kann nicht erreicht werden, bitte versuchen Sie es zu einem späteren Zeitpunkt erneut. Gelöste Themen in diesem Bereich 3
Neu Fatal error: Uncaught Error: Class 'Server' not found ... Technische Fragen zu Plugins und Templates 1
Neu Server für die WAWI (mal wieder dieses Thema aber mit speziellen Fragen) User helfen Usern 3
Neu Dedicated Server Erfahrungen mit JTL Wawi und JTL Shop User helfen Usern - Fragen zu JTL-Wawi 8
Gelöst Clients haben keinen Zugriff auf den Server mehr Gelöste Themen in diesem Bereich 2
Neu Wie macht Ihr das: Lokale Daten auf Cloud Server bringen User helfen Usern - Fragen zu JTL-Wawi 4
Neu WMS Fehlemeldung "Pakete ohne Sendungsnummer können nicht an den Track&Trace-Server übergeben werden" JTL-Track&Trace - Fehler und Bugs 2
Neu JTL Server knallhart Überlastet, nichts geht mehr Arbeitsabläufe in JTL-Wawi 4
Neu Verbindung zur Datenbank nicht möglich - Server neu starten ist die Lösung User helfen Usern - Fragen zu JTL-Wawi 2
Neu Datenbankbackup: Schreibrechte in Benutzerverzeichnis vs. Server mit Benutzerrechten User helfen Usern - Fragen zu JTL-Wawi 0
Neu Server und Datenbank auf eigenem PC lokal im Büro hosten User helfen Usern - Fragen zu JTL-Wawi 27
Neu Server für Wawi 2.0 Smalltalk 33
Gelöst Grünes WMS Mobile Server Anmeldefenster funktioniert nicht JTL-WMS - Fehler und Bugs 21
Neu Server QNAP oder Synology für Wawi. Wer nutzt so etwas? Smalltalk 53
Neu Wawi sehr langsam im Netz nach Server neustart User helfen Usern - Fragen zu JTL-Wawi 1
Neu Dropshipping: CSV auf Server kopieren - Probleme mit Fritzbox Schnittstellen Import / Export 1
Abgelehnt JTL-WMS Mobile Server mit HTTPS Installation von JTL-WMS 2
Neu wafi kann nicht mit server verbunden werden Installation von JTL-Wawi 20
Gelöst Ablauf bei fehlerhaftem Label - wie optimieren? Arbeitsabläufe in JTL-WMS 4
Ähnliche Themen