NAV Server für Migrationen optimieren

23. April 2019 12:28

Hallo Freunde,

ich habe in nächster Zeit wiederholt mit Datenmigrationen von SQL nach NAV/SQL zu tun. Um die Laufzeiten bei den Migrationen (SQL-Importe, NAV-Reports) möglichst gering zu halten, möchte ich mir die betreffenden Server-Maschinen so sinnvoll wie möglich einrichten. Es geht also darum, möglichst jedes (sinnvolle) Bisschen Performance herauszuquetschen, indem z. B. nicht benötigte Dienste etc. deaktiviert werden und allgemein die Software für diesen Zweck sauber konfiguriert wird.

Folgende Überlegungen habe ich bereits angestellt, und ich würde mich über Eure Kommentare dazu freuen:

Installation von NAV-Server und SQL-Server auf der selben Maschine, damit Datenaustausch via Netzwerk umgangen wird
Vorgabe von MS ist meines Wissens, dass SQL-Server und NAV-Server auf getrennter Hardware installiert werden. Dies bedingt aber, dass die Daten zwischen Instanz und SQL-Server hin- und hergeschoben werden müssen (Netzwerk). Für umfangreiche Importe/Reports ist dies vermutlich eher nicht sinnvoll. So zumindest meine Theorie. Müsste ich beim Anlegen der Instanzen irgendwelche sinnvollen/performancesteigernden Einstellungen beachten, wenn die Instanz auf dem gleichen Server läuft, auf dem auch die SQL-Datenbank liegt? Muss ich der Instanz quasi "sagen", dass die Daten "lokal" auf der Maschine im SQL-Server vorliegen?

Ausklammern bestimmter NAV-Dienste
Beim Anlegen der NAV-Instanz kann ich Ports für weitere Dienste (SOAP, ODATA usw.) vergeben, welche aber für die Migration meines Wissens nicht benötigt werden. Macht es Sinn, diese Dienste wegzulassen - oder stören diese die Performance eher nicht?

Bestimmte Einstellungsmöglichkeiten für die Instanz
Für gewöhnlich stelle ich - abgesehen von den Parametern "Services Default Time Zone", "Services Language" und "Metadata Provider Cache Size" (5000) - nicht viel an den den Instanzen ein. Gibt es hier Parameter, die mir bei den genannten Bulk-Importen bzw. Report-Laufzeiten messbare Vorteile bringen würden?

Einstellungen des SQL-Servers optimierten
Beim SQL-Server würde ich mich grundsätzlich an den Einstellungen orientieren, die von Microsoft für eine NAV-Installation vorgegeben werden. Sicherlich gibt es aber auch hier Dinge, die ich beachten könnte. So habe ich z. B. überlegt, ob es beispielsweise Sinn macht, das Logging der SQL-DB abzuschalten, um Peformance zu gewinnen. Für die Migration selbst würden die Logfiles nicht gebraucht, und ich erstelle eh an mehreren Stellen im Prozess Backups der Datenbank. Möglicherweise existieren noch weitere Parameter/Enstellungen, die - speziell für diesen Einsatzweck Vorteile bringen würden?

Wer hat hier Ideen/Vorschläge, wie ich speziell für Migrationen eine "flotte" Serverumgebung hin-optimieren könnte?

Vielen Dank vorab für Eure Hilfe und Eure Erfahrungen. Ich freue mich über jede Info, die mir hier weiterhilft.

Euer Ratze

Re: NAV Server für Migrationen optimieren

23. April 2019 14:04

hallo,

würde ich im Prinzip genauso machen.

Wobei darauf zu achten ist, dass sowohl SQL-Server als auch NAV-Servicetier und Windows sich die Ressourcen vernünftig teilen. (hängt von der Hardware ab, SQL-Server- Speicher begrenzen, NAV-Servicetier- Cache so einrichten das für das Windows noch ein paar GB frei bleiben)

Dienste zu deaktivieren macht nicht wirklich Sinn.

Willst du aus NAV importieren oder aus einer Fremd-DB?

Gruß Fiddi

Re: NAV Server für Migrationen optimieren

23. April 2019 15:33

Willst du aus NAV importieren oder aus einer Fremd-DB?


Hallo Fiddi,

Danke erst einmal für Deine Rückmeldung. Da bin ich schon einmal froh, dass ich auf dem richtigen Weg bin.

Zur o. g. Frage: Die Rohdaten, aus denen migriert wird, werden in eine zweite SQL-Datenbank auf dem gleichen SQL-Server importiert (Dump-Files/Flat Files). Danach erfolgt dann die Migration der Daten mittels SQL-Skripten von Rohdaten-DB zu NAV-DB und "hinten dran" laufen dann einige NAV-Reports, welche die migrierten Daten in der NAV-DB "glatt ziehen".

Quasi:
Dumpfiles > Import in eine Rohdaten-DB > Migration von Rohdaten-DB zu NAV-DB (SQL) > NAV-Reports > Fertig

Alles soll dann in diesem Fall auf der selben Hardware passieren und so flott als möglich sein.

Je schneller die Datenbank also von links nach rechts "schaufeln" kann, desto flotter sollte das Ganze ablaufen. Wenn ich hier z. B. durch setzen bestimmter Parameter oder durch Ausschalten bestimmter Funktionen I/O oder Verarbeitungszeiten einsparen kann, wäre das natürlich fein (Beispiel: Abschalten der Logfiles des SQL-Servers?). Wenn nicht, ist auch nicht so schlimm.

Weitere Tipps nehme ich natürlich gerne entgegen. :-)

Re: NAV Server für Migrationen optimieren

23. April 2019 15:42

Das eigentliche Problem dürfte das Buchen der Buchblätter sein. Das dauert die längste Zeit.

Ansonsten kannst du nur versuchen deine Berichte auf geringes Datenm-IO zu trimmen.

Gruß Fiddi