Optimierung des SQL Servers mit mehreren Datenträgern

natZONE

Aktives Mitglied
7. Juni 2012
161
0
Heidelberg
Im JTL Blog wird erklärt, welche Maßnahmen sich zur Optimierung des SQL Servers eignen. Insbesondere wird dabei auch betont, dass die eigentliche Datenbank (also die *.mdf Datei) und die Logfiles sowie die TempDB Dateien jeweils auf unterschiedliche Festplatten zu verteilen sind.

Ist dieser Hinweis auch mit größeren Geschwindigkeitsvorteilen bei SSDs anstelle von herkömmlichen Festplatten verbunden?

In einem meiner Notebooks habe ich eine Samsung 850 Pro 512GB (SSD1) und eine 1TB (SSD2) verbaut (SATA 3.0). Die vorherige Festplatte habe ich gegen die 512GB-SSD (SSD1) ausgetauscht und das DVD-Laufwerk gegen die 1TB-SSD (SSD2).

Betriebssystem und SQL-Server befinden sich aktuell auf SSD1, *.mdf Datei sowie alle Logs und die acht TempDB Dateien auf SSD2. Weitere SSDs kann ich in dem Notebook nicht verbauen mangels Platz und Anschlüssen.

Ist meine derzeitige Konfiguration optimierungsbedürftig? Habt ihr konkrete Erfahrungen mit anderen Konfigurationen und dabei erhebliche Performancegewinne feststellen können?
 

css-umsetzung

Offizieller Servicepartner
SPBanner
6. Juli 2011
8.304
2.505
Berlin
Firma
css-umsetzung
So wie ich es verstanden habe, würden auch Virtuelle Festplatten reichen, dann wäre nur der Datendurchsatz die Begrenzung.
 

natZONE

Aktives Mitglied
7. Juni 2012
161
0
Heidelberg
Es geht mir ja gerade um den Datendurchsatz, dieser soll mit maximaler Geschwindigkeit ablaufen. So wie es ausschaut, geht dann an einem System mit vier oder fünf physischen (nicht virtuellen) Datenträgern kein Weg vorbei, was wiederum bedeutet, dass für diesen Anspruch ein Desktop-System mit ausreichend vielen Anschlüssen (am besten PCIe für M.2 SSDs) eingerichtet werden muss. Ein Notebook stößt dabei zwangsläufig an Grenzen.
 

css-umsetzung

Offizieller Servicepartner
SPBanner
6. Juli 2011
8.304
2.505
Berlin
Firma
css-umsetzung
Ich werde da niemanden reinreden, aber Laptop sagt mir, das nur einer daran Arbeitet,
da denke ich, muss man nicht versuchen die letzte Millisekunde zu finden.

Auch sollte am Ende, immer das Verhältnis zwischen Hardwarekosten und Geschwindigkeit, ausgeglichen sein.
 

natZONE

Aktives Mitglied
7. Juni 2012
161
0
Heidelberg
Hardwarekosten wären irrelevant. Ich möchte mittelfristig ein auf Datendurchsatz optimiertes System haben, an welchem dann zwei oder drei Mitarbeiter arbeiten werden. Mich interessiert in erster Linie, ob jemand eigene Erfahrungen mit solch einem System (d. h. mehrere separierte SSD-Datenträger, Arbeitsspeicher zwischen 128 und 512 GB RAM) hat und wie die o. a. Dateien idealerweise anzuordnen sind. Im JTL Blog sind ja schon einige Hinweise gegeben worden. Dort wurde etwa davon abgeraten, bei einem System mit nur zwei Festplatten *.mdf und TempDB auf demselben Datenträger zu verwalten.
 

exe

Guest
Hi !

Ich kann dir wegen der MSSQL nur wenig sagen, allerdings gibt es grundlegende Logiken. Betriebssystem und die reine Datenbank sollten immer getrennt auf verschiedenen Festplatten laufen. Alle weiteren können oder sollten auf andere Festplatten ausgelagert werden, wenn diese hohe Schreibraten benötigen und damit den primären Vorgang ausbremsen könnten.

Was ebenfalls noch hilft, sind SSD mit NVMe, da kitzelt man noch mal etwas an der Zugriffszeit.
 

natZONE

Aktives Mitglied
7. Juni 2012
161
0
Heidelberg
Das wird in den Ratschlägen des JTL Blogs für ein System mit zwei Festplatten anders erklärt: Betriebssystem und Datenbank auf dieselbe Festplatte, TempDB und die Logs auf jeweils separate Festplatten. NVMe ist hinfällig, da ich bereits M.2 erwähnt habe. Die grundlegende Logik der Trennung der erwähnten Dateien ist mir bereits klar. Mir geht es um konkrete Erfahrungswerte bei dieser Optimierung.
 

elevennerds.de

Sehr aktives Mitglied
23. September 2015
1.231
209
Hallo,

ich empfehle für maximale Performance folgende Konfiguration:

2 x RAID10 mit jeweils mindestens 4 SSDs (vernünftige Server-SSDs)
1 x SSD (diese SSD muss sehr schnell sein, perfekt wäre hier eine SSD die mittels PCIe angebunden ist)

Betriebssystem wird auf ein RAID10 installiert. Wichtig für MSSQL ist, dass der RAID-Controller nativ mit 64kb-Blöcken arbeitet und alle Dateisysteme, auf denen Datenbankdateien abgespeichert werden, ebenfalls mit 64kb-Blöcken formatiert sind. Für das Betriebssystem ist das leider nicht möglich, deswegen hier eine Partition für Windows abtrennen.

Auf das zweite RAID-System werden die Transaktions-Logs gespeichert (bei der Instanz-Installation kann dies zugewiesen werden).

Auf die einzelne superschnelle SSD werden die tempdb's (eine pro CPU-Core) abgelegt.

Nicht erwähnen brauche ich sicherlich, dass der Server über ordentliche CPUs (Intel Xeon) und ordentlich RAM (DDR4 ECC) verfügen sollte. Mehr Kerne sind hier besser als die CPU-Geschwindigkeit.

MfG

Rene
 
  • Gefällt mir
Reaktionen: natZONE

natZONE

Aktives Mitglied
7. Juni 2012
161
0
Heidelberg
Hört sich gut an. Die SSD mit der Datenbank ist bereits mit 64kb-Blöcken formatiert, OverProvisioning wurde mit 25 % großzügig bemessen, Arbeitsspeicher im Notebook 32GB RAM. Damit ist die Sache ausgereizt, mehr geht nicht mit dieser Hardware.

RAID-eins-null klingt vernünftig, einen LSI-Controller habe ich hier noch, dazu ein Board mit zwei Xeon-CPUs. ECC-Speicher ist ohnehin Pflicht für alles, was größer ist als 32GB RAM. Der SQL Server 2016 schlägt bereits bei der Erstinstallation die angemessene Anzahl der TempDBs vor pro logischem Core. Die passenden SSDs fehlen mir noch. Offensichtlich reichen für die Logfiles kleinere SSDs aus (vielleicht 128 oder 256GB).
 

Marc Völker

Moderator
Mitarbeiter
15. April 2014
1.915
215
Hürth
Täusch dich mal nicht bei Logfiles, auch mit Ordentlicher konfiguration können die was an festplatten speicher ziehen.

Was Ram und CPU angeht gibt es aber auch eine der Sql Server geschuldeten Maximal anzahl, Bitte nicht vergessen auch die Mssql Standard Edition ist begrenzt.

Bis 2014 auf 16 Cores, und glaub 64/128 GB Ram. Find gerade auf die schnelle nicht das Datenblatt, und mein Rechner im Büro ist aus.

Gerade was die Festplatten angeht, ist vor allem auch die Frage, welcher Controller läuft da drunter. Weil auch ein Billiger Controler kann zum Nadelohr werden, und nein Virtuelle Festplatten, oder partitionen oder sowas sind nicht als eine der Festplatten gemeint. Hier wird schon von Logischen Laufwerken / Raids gesprochen und nicht nur Virtuellen partitionen oder Ähnlichem.

Sprich ist der Server Virtuell (hier gibt es keine echte Meinung was besser für nen DB Server ist, ob virtuell oder Physich) was aber klar ist, bei Virtuell müssen die Platten auch ordentlich der Virtuellen kiste zu verfügung gestellt werden, sprich entweder Komplett durch gereich werden. Oder wenn man Virtuellen Platten gearbeitet wird, diese wirklich ordentlich auf Physichen Platten abgelegt werden. Und was dann auch gerne falsche gemacht wird, Bitte die Festplatten nicht mit Dynamischer Vergrößerung.... Sonst hast du auch eine Klasse Fragmentierung.

P.S. 2016 Ist von JTL noch nicht freigegeben für die Wawi. Aber mir fällt da eh gerade auf, ernst haft ne 2016 Enterprise? Bisher kenne ich nur ein Unternehmen im JTL umfeld (wollen es aber erst einsetzen) wo wirklich eine Enterprise (da dann sogar mehrere Instanzen im Cluster) nötig ist. Wie haste den Lizensiert? Bzw warum? Den kannst du ja eh nur nach Core Lizensieren. Da kannste mit CALS ja nicht mehr arbeiten. Wenn du keine Features wie Clustering, mehr als 16 Core, mehr als 128 GB Ram, und was da sonst noch gibt (was im übrigen auch JTL nicht nutzen wird) verschenkst du da eine Menge geld. Ich meine nur 14.000 $ Pro Core (einzige Preis den ich gerade fand) Mal ernsthaft? Wie Groß seit ihr?

Aber ansonsten würde ich hier defintiv auf Server SSDs, welche über PCIe angebunden werden setzen, SSds mit SATA oder SAS anschluss wirste so defintiv nicht alles raus hollen. Und wenn du wirklich ein System aufbauen willst, wo du alles raus hollst. Dann sollte eigentlich das Geld da sein, für entsprechende Dienstleister, die davon auch Ahnung haben. Hab aber jetzt leider auch auf die kürze nicht gesehen um welche Kennzahlen der zu erwartenen Kunden / Aufträge / Mitarbeiter es hier bei dir geht.
 
Ähnliche Themen
Titel Forum Antworten Datum
Neu Langfristiger JTL-Partner gesucht: Shopware 6 / Marktplätze (Mirakl, Otto, Kaufland) & Prozess-Optimierung Dienstleistung, Jobs und Ähnliches 1
Nutzung des Kaufland Marktplatz -- Erfahrungsbericht kaufland.de - Anbindung (SCX) 0
Neu Rückverfolgung des Verkaufskanal bei Angeboten aus dem Shop User helfen Usern - Fragen zu JTL-Wawi 3
Neu Rückverfolgung des Verkaufskanal bei Angeboten aus dem Shop Eigene Übersichten in der JTL-Wawi 0
Neu PrestaShop 9 Kompatibilität des Connectors – seit über 8 Monaten keine Lösung PrestaShop-Connector 0
Beantwortet Keine Ausgabe des Artikelnamens (Artikel.Bezeichnung) im Artikeletikett Druck-/ E-Mail-/ Exportvorlagen in JTL-Wawi 2
Neu WaWi - JTL Shop - Kein Abgleich des Artikelnamen möglich Onlineshop-Anbindung 1
Neu Bestellungen werden verzögert oder nicht gepullt – Ursache: Zeitzonen-Filter im SQL des WooCommerce-Connectors WooCommerce-Connector 0
Neu ShopApotheke / NinePoint: Wiederkehrender Totalausfall des Bestellimports – graues Autorisierungsfenster User helfen Usern 0
Defekte Retouren mit Grund des Defektes erfassen JTL-Wawi 1.11 1
Übergehe Datensatz, da weder Nachname noch Firmenname und Stasse, Plz, und Ort des Kunden gesetzt sind! JTL-Wawi 1.9 0
Wichtig Änderungen bei der Installation des Shopify Connectors ab 01.01.2026 Shopify-Connector 0
1.11.5 Weiterhin Absturz bei Aufruf des Zahlungsmoduls JTL-Wawi 1.11 6
Neu Eigene Felder des Artikels per Exportvorlage Auftrag auslesen Schnittstellen Import / Export 0
Neu Umzug SQL Datenbank auf neuen Server User helfen Usern - Fragen zu JTL-Wawi 1
Kundenstammdaten - "Eigenes Feld" in SQL auslesen JTL-Wawi 1.9 2
Aktuelles Update 1.11.7: Anmeldedialog merkt sich den letzten User immer noch nicht & falsche Warnung für angeblich fehlendes SQL Server Update JTL-Wawi 1.11 3
Neu Frage zu SQL Statement - Kunden-Kommentar aus Auftrag auf Pickliste User helfen Usern - Fragen zu JTL-Wawi 1
Neu SQL Worker.tStatus - Bedeutung von nStatus? JTL Ameise - Eigene Exporte 2
Neu Suche Servicepartner für SQL-Abfrage Dienstleistung, Jobs und Ähnliches 2
Neu askJan | Neuer KI-Assistent für JTL-Wawi - schnelle, effiziente und transparente KI-Datenanalyse - ohne SQL! Dienstleistung, Jobs und Ähnliches 41
Neu JTL-Wawi 1.11.5: Sequenzieller Kundenexport mit Workflow und SQL-Queue Schnittstellen Import / Export 2
Neu Wie lässt sich der Lieferstatus von Aufträgen per SQL abfragen? User helfen Usern - Fragen zu JTL-Wawi 8
Neu JTL Wawi auf Windows Server 2025 mit SQL 2025? Installation von JTL-Wawi 24
Neu JTL Diag / SQL Mitschnitt lässt sich nicht mehr starten User helfen Usern - Fragen zu JTL-Wawi 12

Ähnliche Themen