Neu SQL Server Optimierung - Wawi/WMS SEHR langsam

TobiasC

Gut bekanntes Mitglied
25. Juni 2008
129
10
Hi,

wir haben große Performance-Probleme mit unserem SQL Server. Wir hatten bis vor kurzem einen Dell PowerEdge R7515 mit einem AMD EPYC 7302P 3GHz, 16C/32T, 128M Cache (155W) DDR4-3200. 128 GB Ram, SAS-SSD Raid auf dem 5 VMs liefern (Anwendungsserver für den JTL Worker sowie den Mobile Server, Backupserver, Domänencontroller, VMware und SQL Server)

Der SQL-Server (SQL 2019 - Standard) hatte hierbei 8 Cores und 48 GB RAM zugewiesen. Wir waren mit der Performance grundsätzlich zufrieden, jedoch gab es immer massive Einbrüche an Montagen. Ab ca. 1000+ Aufträgen kommt es hier zu großen Performanceeinbrüchen.

Bei uns arbeiten ca. 50 Personen (bald 60) und wir setzen komplett auf die Wawi und WMS. Wir haben ca. 65 Rechner (mit Wawi + WMS) über unsere Fläche verteilt (Bürorechner, Lagerrechner, Packtische, Notebooks.) Die Clients sind natürlich nicht alle gleichzeitig an. Zusätzlich haben wir ~25 Mobilclients (Tablets und andere Mobilgeräte für WMS).

Durch die Unzufriedenheit mit der Performance haben wir uns jetzt einen dedizierten Server allein für den SQL Server zugelegt. Es ist ein Dell PowerEdge R740 Rack-Server mit 2x Xeon Gold 6250 (je 8 Cores + Hyperthreading) und 196 GB Ram geworden. Dazu ein Raid 10 mit 6x 800 GB mixed use SAS SSDs. Auf dem AMD Epyc läuft jetzt der AW und die anderen VMs.
Der Server läuft auch wieder virtualisiert mit VMWare (16 logische CPUs und 128 GB RAM). RAM wird vom SQL Server nur ~20 GB genutzt, der Rest steht frei zur Verfügung und wird vom SQL nicht abgerufen (obwohl er ~100 GB konfiguriert hat). I/O Zugriffe halten sich extrem in Grenzen. Das 10er Raid langweilt sich quasi.

Der Anwendungsserver ist mit dem SQL Server mit 10 GbE verbunden.

Mit dem neuen Server ist das System über die Woche sehr viel schneller (quasi instant Wechsel der Reiter und auch innerhalb von max. 1 Sek die Anzeige von den Artikelpos. unter Verkauf), jedoch an Montagen wieder sehr langsam. Der Wechsel der Reiter in der Wawi ist langsam und unter Verkauf => Aufträge dauert es gefühlte Ewigkeiten bis die Artikelpositionen angezeigt werden. Der Server langweilt sich zu diesen Zeiten mit ca. 3-10% CPU Auslastung und hat dabei noch 100 GB freien Arbeitsspeicher für den SQL Server.
Das Problem scheint größer zu werden, wenn mehr Clients auf die Wawi zugreifen. Wenn nur ein Client per Terminalserver ( RDP) auf die Wawi zugreift, ist es auch mit den Auftragsmengen von Montagen etwas erträglicher, aber auch nicht mehr schnell.
Beim Erstellen der Picklisten sieht man den SQL dann schon etwas arbeiten. Da geht er auf ~50% CPU Auslastung, erstellt die Picklisten dabei aber NICHT in Lichtgeschwindigkeit.

Wir sind jetzt ziemlich ratlos und es macht so langsam keinen Spaß mehr, denn die Auftragsmengen von Montagen sind ggf. schon in ein paar Monaten die Auftragsmengen von Dienstag - Freitag und damit wäre dann die Wawi/WMS jeden Tag extrem lahm. Das ist einfach nur noch ätzend.

Bei Cost Threshold for Parallelism haben wir aktuell den Wert 50. Höhere Werte führten beim AMD Rechner zu deutlichen Verzögerungen, kleinere Werte waren auch kein Performanceboost.

Bei Maxdop hatten wir auf dem Epyc 3 und haben jetzt nur 5 eingestellt, da uns der JTL Support mitgeteilt hat, dass bei vielen Clients usw. ein geringerer Maxdop deutlich besser wäre und sie sogar bei großen Kunden mit Maxdop 1 deutlich besser von der JTL Performance fahren würden. Ein kurzer Versuch mit Maxdop 7 (Anzahl Cores / 2 - 1) war etwas langsamer von der gefühlten Geschwindigkeit als die 5. Maxdop 1 war leider auch kein Zugewinn. Bei dem Wechsel der Reiter macht das alles aber wenig Unterschied von der Schnelligkeit.
Aktuell sind 8 Tempdb files angelegt.

Die Waitstats sehen an sich sehr unproblematisch aus (soweit wir das als Laien beurteilen können). Deuten aber unserer Meinung nach nicht auf ein Hardwareproblem hin?!
(Siehe Screenshots)

Wie sind eure Server eingestellt? An welchen Schrauben könnten wir bei uns noch drehen, damit es zügiger wird. Habt ihr mit ähnlichen Problemen zu kämpfen?

Die SQL Datenbank hat ca. 20 GB und wir haben viele Artikel mit Variationskombinationen (insgesamt haben wir 14.000 Artikel und davon ca. 60% Varkombis => ganz grob geschätzt)

Über Rückmeldungen würde ich mich sehr freuen.

Viele Grüße
Tobias
 

Anhänge

  • 2021-01-26_09h13_22.png
    2021-01-26_09h13_22.png
    72,4 KB · Aufrufe: 65
  • 2021-01-26_09h13_49.png
    2021-01-26_09h13_49.png
    13,6 KB · Aufrufe: 58

TobiasC

Gut bekanntes Mitglied
25. Juni 2008
129
10
Hi,

die Lösung ist sehr trivial. JTL scheint kein besonders gutes Management der Index-Dateien aufzuweisen. Bei uns fragmentieren die Indexdateien extrem schnell, so dass nach ein paar Tagen ein extremer Leistungsverlust zu spüren ist und die Usability der Wawi und auch von WMS extrem zu wünschen übrig lässt.

Das Problem lässt sich ein Glück relativ einfach lösen. Es wäre nur schön gewesen, hätte man das nicht komplett selber rausfinden müssen und JTL einen hier überhaupt nicht unterstützt hat. Wenn JTL selber keine Ressourcen (so von JTL verkündet) für den Support hat, wurde uns auch kein Servicedienstleister empfohlen, der einen bei der Lösung helfen könnte. Alles in allem scheint man bei JTL bei Problemen wirklich allein gelassen zu werden, was ich sehr traurig finde. Wir zahlen JTL jeden Monat keine kleinen Beträge und der Support ist quasi nicht vorhanden.
Selbst wenn man JTL sagt, dass es für uns keine Rolle spielt, ob die Lösung jetzt Geld kostet, erhält man keine Unterstützung. Jeder Tag mit so einem Problem führt zu HOHEN Kosten und daher sollte so ein Problem schnell behoben werden.
Ob JTL für größer werdende Unternehmen ein wirklich guter Partner ist, scheint für uns zumindest immer fraglicher.

Grüße
Tobias
 

TobiasC

Gut bekanntes Mitglied
25. Juni 2008
129
10
Hi,

danke dir.

Genau... das haben wir dann auch selber gefunden :). Solche Hinweise wären halt vom Support richtig gut gewesen.

Gruß
Tobias
 

TobiasC

Gut bekanntes Mitglied
25. Juni 2008
129
10
Hi Michael,

wir haben keinen extra Support von diesem "Support-Modell" gebucht, aber wir haben aktuell 3x den JTL Shop + 15x WMS, 22x Mobile WMS & 1x Modul (Versandboxen) (Die Lizenzen sollten sich auch in nächster Zeit noch gut steigern, da wir gerade 10 weitere Mitarbeiter einstellen).

Also zahlen wir an JTL jeden Monat schon ein wenig Geld und uns ist klar, dass es bei dem Basis-Support keine Antwort in kurzer Zeit gibt, jedoch nach ein paar Tagen. Wir wären auch ohne wenn und aber bereit gewesen, Support kostenpflichtig nach Stundenabrechnung dazu zu buchen, um das Problem dann zu lösen.

Gruß
Tobias
 
  • Gefällt mir
Reaktionen: MichaelH

TobiasC

Gut bekanntes Mitglied
25. Juni 2008
129
10
Hi,

bei uns hat es geholfen, die Indizes neu zu erstellen (soll laut JTL zwar auch das Problem beheben, aber nicht die eigentliche Ursache sein). Mit dem von SebiW verlinkten Skript klappt das z.B. sehr gut. Zur Not geht es aber auch einfach über die Datenbankverwaltung von JTL => Performanceoptimierung. Bei uns hat das in Situationen mit extremer Verzögerung im Reiter "Versand" oder auch unter "Verkauf" zu einer Lösung geführt.

JTL meinte eben in einem Gespräch zu mir, dass die Implementierung solcher Performance-Optimierungstools auch in einer sehr nah anstehenden Wawi-Version geplant ist.

Grüße
Tobias
 
  • Gefällt mir
Reaktionen: Mario.

SebastianB

Moderator
Mitarbeiter
6. November 2012
1.860
149
Hi,

also, die Version 1.5.40.0 wird zur "DB-Optimierung" externe Skripte nutzen, konkret das eigentliche "Standard-Skript" für solche Dinge, von https://ola.hallengren.com/. Als Lösung für ein akutes Performance-Problem ist das ein wenig die Holzhammermethode, weil durch die Optimierung der Indizes der Plan- Cache gelöscht wird - aber es funktioniert auch im Extremfall.

Grundsätzlich sollte eine "DB-Optimierung" regelmäßig laufen. Als Faustregel würde ich einmal in der Nacht die Skripte laufen lassen über den SQL Server Agent - ich denke, in die 1.6 wird es auch eine Erweiterung vom Worker schaffen, mit der wir diesen Task auch ohne SQL Server Agent nachts laufen lassen können. (Und nur der Vollständigkeit halber: Neben der Indexoptimierung gehört auch die Integritätsprüfung und das Backup zu den Dingen, die unbedingt regelmäßig laufen müssen)

Das mMn eigentlich zu Grunde liegende Problem, nämlich dass durch bestimmte Funktionen Pläne erzeugt werden, die in der Folge dafür sorgen, dass wiederum die Lieferbarkeitsabfrage sehr langsam wird, werden wir hoffentlich auch in der 1.5.40.0 lösen. Ich sage hier explizit "hoffentlich", weil sich dieses Problem nicht ganz so einfach nachstellen lässt - und nur weil es bei einem Testkunden behoben ist, heißt es noch nicht, dass es grundsätzlich bei allen Kunden helfen wird.

Wir haben einige Änderungen an der Funktionsweise der Bestandsberechnung in der 1.5.40.0 vorgenommen um eben diese Themen (schlechte Performance durch ungünstige Pläne und damit verbundene Deadlocks) in den Griff zu bekommen. Ich denke nicht, dass wir es mit der 1.5.40.0 komplett vom Tisch haben werden, aber wir sollten mit den Änderungen einen guten Schritt nach vorne kommen.

LG,
Sebastian
 

Mario.

Sehr aktives Mitglied
4. Dezember 2007
1.481
35
Prima. Ich habe die JTL-Datenbank Reparatur durchlaufen lassen und bekomme nun einen Fehler. In die Mandanten komme ich auch nicht mehr rein.Rep.jpg

Hat jemand eine Idee wie das wieder i.O. gebracht werden kann?
 

Mario.

Sehr aktives Mitglied
4. Dezember 2007
1.481
35
Ich konnte das Problem lösen. Einfach in der SQL-Datenbank in der Tabelle dbo.tOptions den Inhalt der Zeile UpdateGestartet löschen. Dann nochmals "Collation reparieren" starten und geduldig warten.
 
  • Gefällt mir
Reaktionen: RECENTmarketing

TobiasC

Gut bekanntes Mitglied
25. Juni 2008
129
10
Hi Mario,

freut mich, dass du das Problem lösen konntest.

Bei meinem Tipp handelte es sich ja allein um die DB Performanceoptimierung:

2021-02-12_10h13_18.png

2021-02-12_10h13_38.png

Grüße
Tobias
 
  • Gefällt mir
Reaktionen: Mario.

Mike02

Gut bekanntes Mitglied
17. Dezember 2012
326
7
JTL hat dazu in einem Blogbeitrag mal die SQL Server Maintenance Solution von Ola Halgren empfohlen:
https://ola.hallengren.com/
habt ihr hier das komplette Script verwendet ?

und wie wird es genau verwendet. Was müssen wir tun damit dieses Script jede Nach um 3 Uhr durchläuft

Den Teil für BACKUPS benötigen wir eigentlich auch nicht, da bei uns alle Datenbanken den ganzen Tag über stündlich mit SQLBackupAndFTP gesichert werden.
 

SebiW

Sehr aktives Mitglied
2. September 2015
1.683
583
Hallo Mike, haben wir, ist aber nicht mehr nötig. JTL hat das Script zur .41 oder .42 in die Wawi eingebaut, schau am besten mal in die Changelogs.
 

Mike02

Gut bekanntes Mitglied
17. Dezember 2012
326
7
OK. Läuft das dann automatisch ?

Denn unsere Wawi war auch wieder extreme langsam und ich habe heute morgen die Performenceoptimierung manuel gestartet. Danach lief sie wieder etwas schneller
 

Mike02

Gut bekanntes Mitglied
17. Dezember 2012
326
7
Hallo,

das ist ja doof. Warum gibt es dafür keine Einstellung ind er man die Uhrzeit eingeben kann und das ganze dann einfach automatisch in der Nacht einmal durchläuft.
 
  • Gefällt mir
Reaktionen: Geschwind
Ähnliche Themen
Titel Forum Antworten Datum
Neu MS SQL Server 2017Express - Extrahierungsfehler Installation von JTL-Wawi 1
Neu SQL Server Performance - Verbesserungsvorschlag JTL-Wawi - Ideen, Lob und Kritik 2
Neu SQL Datei per Batch ausführen User helfen Usern - Fragen zu JTL-Wawi 0
Neu Variantebilder werden nicht angezeigt / SQL Fehler Shopware-Connector 0
Neu JTL Statistik SQL EK VK ausgeben User helfen Usern - Fragen zu JTL-Wawi 0
Neu SQL: gesamte offene Posten zu einer Kundennummer Individuelle Listenansichten in der JTL-Wawi 0
Neu Workflow: Auftrag erstellt -> Kreditlimit überschritten (SQL - Abfrage) User helfen Usern - Fragen zu JTL-Wawi 0
Neu Verknüpfung von DB-Tabellen in SQL-Abfrage für Retouren zur Ermittlung des Kunden User helfen Usern - Fragen zu JTL-Wawi 1
Neu Biete: JTL Shop Entwickler, Plugins / Templates / Reports / SQL / Apps Dienstleistung, Jobs und Ähnliches 0
Neu SQL Bild des Vaterartikels Individuelle Listenansichten in der JTL-Wawi 0
Neu SQL - Eigene Übersicht Sonderpreise von Amazon Individuelle Listenansichten in der JTL-Wawi 0
Neu SQL Fehlermeldung: Aufträge können nicht geladen werden JTL-Wawi - Fehler und Bugs 3
Neu Wartungsarbeiten für das SQL-Hosting am WE 28.-30.5. entfallen News, Events und Umfragen 0
Neu Umzug aller SQL-Hostings vom 29.05. bis 30.05.2021 News, Events und Umfragen 12
Neu WAWI Datensicherung auf anderer MS SQL Version einlesen Installation von JTL-Wawi 2
Neu Suche SQL für die Ausgabe von Lieferländern mit wie vielen Paketen beliefert und welcher netto warenwert gestaffelt nach Jahr, Monat, Woche und Tag? User helfen Usern 3
Neu SQL-Code aufrufen Druck-/ E-Mail-/ Exportvorlagen in JTL-Wawi 1
Neu Angebot: direkte Datenbankabfragen mit SQL 15 EUR pro Zeile (je 200 Zeichen) auf Rechnung innerhalb 24h Dienstleistung, Jobs und Ähnliches 2
Neu Was wird geändert (SQL) wenn ein neues Profile angelegt wird User helfen Usern - Fragen zu JTL-Wawi 2
Neu Fehler nach Server-Umzug JTL-Wawi - Fehler und Bugs 5
Migrieren der DB via cli auf Server möglich? Upgrade JTL-Shop4 auf JTL-Shop5 1
Neu Welche Server Hard- und Software User helfen Usern 8
Neu Vereinzelte ea-Server Abgleichprobleme eBay-Anbindung - Fehler und Bugs 2
Neu Ableitung Export aus Vorlage an FTP Server JTL-Ameise - Ideen, Lob und Kritik 0
Neu JTL-Wawi 1.5.46.0 - Firewallregeln (eingehend & ausgehend) am Server & Client, welche und welche Ports? User helfen Usern - Fragen zu JTL-Wawi 10
Neu Suche jemanden,der uns Client an Server über Internet anbindet Dienstleistung, Jobs und Ähnliches 6
Neu Server 502 Gateway Fehlermeldung Amazon-Anbindung - Fehler und Bugs 16
Gelöst 2 Mandaten auf einen JTL Mobile Server ? Arbeitsabläufe in JTL-WMS / JTL-Packtisch+ 2
Neu JTL Wawi Server Passwort verloren - Änderung von Server auf Lokal User helfen Usern - Fragen zu JTL-Wawi 5
Neu Der JTL-ShippingLabels-Server kann nicht erreicht werden, bitte versuchen Sie es zu einem späteren Zeitpunkt erneut. JTL-ShippingLabels - Fehler und Bugs 4
Gelöst Fehlermeldung: Es ist ein Fehler im JTL-WMS Mobile Server aufgetreten. Sie können die Feedback Funktion nutzen, um den Fehler zu melden. Arbeitsabläufe in JTL-WMS / JTL-Packtisch+ 5
Neu [Gesucht] Backup Spezialist - Optimierung/Wartung Dienstleistung, Jobs und Ähnliches 0
Neu NOVA Performance Optimierung? Templates für JTL-Shop 8
Neu Hilfe bei der Datenbank Optimierung / Performance Installation von JTL-Wawi 10
Neu Suche Agentur bzw. Berater zum Thema Online Shop Optimierung/Umsatzsteigerung Dienstleistung, Jobs und Ähnliches 1

Ähnliche Themen