Neu SQL Server Optimierung - Wawi/WMS SEHR langsam

TobiasC

Gut bekanntes Mitglied
25. Juni 2008
151
18
Braunschweig
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: 100
  • 2021-01-26_09h13_49.png
    2021-01-26_09h13_49.png
    13,6 KB · Aufrufe: 90

TobiasC

Gut bekanntes Mitglied
25. Juni 2008
151
18
Braunschweig
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
151
18
Braunschweig
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
151
18
Braunschweig
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
2.083
335
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.551
41
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.551
41
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: recent.digital

Mike02

Gut bekanntes Mitglied
17. Dezember 2012
432
19
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
2.406
1.002
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
432
19
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
432
19
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: OS8610 und Geschwind
Ähnliche Themen
Titel Forum Antworten Datum
Neu MS SQL Server 2022 oder MS SQL Server 2022 Express? Installation von JTL-Wawi 8
Neu Nach Installation eines neuen SQL Servers klappt die Verbindung vom Benutzer-PC zum Server-PC nicht mehr. Installation von JTL-Wawi 5
Upgrade von SQL Server 2014 auf höhere Version JTL-Wawi 1.8 4
Neu SQL Server Express 2017 auf 2022 Update Installation von JTL-Wawi 10
Neu Nach SQL Server neuinstallation Benutzer gelöscht? JTL-Wawi - Fehler und Bugs 3
Neu Fragen zur Konfiguration von Datenbankdateien und Transaktionsprotokollen während der SQL Server-Installation User helfen Usern - Fragen zu JTL-Wawi 7
Datenbank-Abfrage per SQL nach Lagermenge pro Artikel & Warenbereich (WMSLager) JTL-Wawi 1.8 1
Neu Logfile: SQL Fehler, aber warum? JTL-Shop - Fehler und Bugs 2
Beantwortet #GEFUNDEN# Suche jemand , der uns eine (automatische) SQL Abfrage erstellen kann mit Mail Ausgabe Dienstleistung, Jobs und Ähnliches 2
Neu Erstinstallation JTL WaWi 1.8.12 - heruntergeladen wird SQL Express 2017 _statt_ der empfohlenen 2022 Version Installation von JTL-Wawi 8
Neu SQL-Fehler bei Volltextsuche und Sonderzeichen JTL-Shop - Fehler und Bugs 0
Neu SQL-Abfrage bei Kundenanlage JTL-Wawi 1.7 2
Neu einfache SQL Verknüfpung zweier Tabellen, z.B. Artikel mit ArtikelBeschreibung 1.6.46.1 Gelöste Themen in diesem Bereich 13
Neu CSV-Datei direkt in einer SQL-Abfrage verwenden User helfen Usern - Fragen zu JTL-Wawi 3
Neu SQL Ausgabe der Varko-Auswahl eines Artikels, mehrsprachig Tabelle zwei mal auf sich Joinen? User helfen Usern - Fragen zu JTL-Wawi 5
Neu SQL Abfrage in Excel User helfen Usern - Fragen zu JTL-Wawi 12
Neu SQL-Erfahrene vor - Nach Datenrettung - fehlende Aufträge lassen sich nicht einfügen - Ideen? User helfen Usern 4
Neu Fehler SQL-Schema importieren bei Neuinstallation Installation / Updates von JTL-Shop 7
Neu Update MS SQL 2014 auf MS SQL 2022 User helfen Usern - Fragen zu JTL-Wawi 0
Neu SQL Abfrage Artikelbezeichnung auf Englisch für Artikeletikett User helfen Usern - Fragen zu JTL-Wawi 4
Neu Datenbankebene per SQL löschen Eigene Übersichten in der JTL-Wawi 6
Neu MS SQL 14 Express wird langsam voll. Welche Lienzen benötigen wir? Bitte um Hilfe Eigene Übersichten in der JTL-Wawi 27
Neu SQL Abfrage wird mehrfach ausgeführt - Ausgabe in der Übersicht falsch Eigene Übersichten in der JTL-Wawi 8
1.8.11.0 - Worker SQL lässt System hängen JTL-Wawi 1.8 0
Neu List&Label Merkmale auf Etiketten (SQL) Gelöste Themen in diesem Bereich 3
Neu Versandart + Zahlungsart in Rechnungskorrektur (SQL) User helfen Usern - Fragen zu JTL-Wawi 10
SQL Abfrage via Ameise: Seriennummer u. weitere Daten JTL-Wawi 1.8 0
1.8.10.0 - SQL-Job Performance-Optimierung JTL-Wawi 1.8 24
Neu SQL 2017 auf 2022 updaten (express) User helfen Usern - Fragen zu JTL-Wawi 1
Neu SQL Abfrage über ODBC für Bewegunghistorie (WMS) Eigene Übersichten in der JTL-Wawi 4
Komplexe SQL Abfrage zu gelieferten Artikeln mit eigenen Feldern - Hilfe gesucht JTL-Wawi 1.8 1
SQL Abfrage alle Aufträge ohne Lieferschein JTL-Wawi 1.8 2
SQL ifGetPrice liefert nur netto Preise, wie komme ich an Brutto ran? JTL-Wawi 1.7 4
Wichtig 👉 Wichtiger Hinweis: JTL-eazyAuction Server Downtime am Dienstag, 02.04.2024 News, Events und Umfragen 0
Workflow Manuell HTML Request wie Server Antwort verarbeiten JTL-Wawi 1.7 0
Neu Eigener (Home-) Server mit Windows UND Linux Starten mit JTL: Projektabwicklung & Migration 23
Wichtig 👉 Wichtiger Hinweis: JTL-eazyAuction Server Downtime am Dienstag, 12.03.2024 News, Events und Umfragen 0
Neu JTL-POS-Server als Dienst/Autostart starten (WinServer2022) Einrichtung / Updates von JTL-POS 2
Neu Server zu verkaufen Business Jungle 6
Neu Einstellung: "Bilder des Vaterartikels un der folgenden Variationswerte übernehmen" und der Shopware Server "explodiert" Shopware-Connector 10
Neu ecoDMS auf Ubuntu Server OS Installation: unknown user ecodms und keine Clientverbindung möglich User helfen Usern 1
Wichtig 👉 Wichtiger Hinweis: Abkündigungsfristen JTL-Wawi 1.5 / MSQL-Server 2014 / JTL-POS für Android 7 / JTL-Connector für Shopware 5 News, Events und Umfragen 2
Datenbankimport nach Server-Umzug klappt nicht JTL-Wawi 1.8 3
Wo ist der JTL Worker bei der 1.8.10.0 wird nicht installiert Crash Windwos Server. Bestellungen werden nicht abgeholt JTL-Wawi 1.8 41
Neu Verbindung Mobile Server fehlgeschlagen, falsche Datenbankversion JTL-WMS / JTL-Packtisch+ - Fehler und Bugs 0

Ähnliche Themen