anaptis-tutorials
  • Blog
  • 23. November 2023

How to: Business Central, NAV, Navision Performance Optimierung

“Das ERP-System ist aber langsam geworden!” Kennen Sie Beschwerden über die ERP-Performance auch aus Ihrem Unternehmen? Wir möchten Ihnen heute eine Vorgehensweise sowie Ursachen und Maßnahmen aufzeigen. Natürlich kennen sich Performance-Expertinnen und -Experten am besten mit dieser Materie aus. Aber auch Sie als IT-Manager/-innen oder Anwender/-innen können bereits einige Maßnahmen ergreifen. Und das, ohne zu tief in technische Themen zur Systemoptimierung eintauchen zu müssen.

 

 

Performance-Problematik eingrenzen

Zunächst ist es enorm hilfreich, das Problem einzugrenzen und zu lokalisieren: Treten die Performance-Probleme bei allen Benutzenden, im gesamten System, auf allen Geräten und zu jeder Zeit auf? Wenn Sie mit der Lösung des Problems beauftragt wurden, sprechen Sie mit dem Team und schauen Sie sich das System genauer an:

  • Benutzerabhängigkeit (z. B. nur FiBu): „Tritt das Performance-Problem bei allen Kolleginnen und Kollegen, nur bei Ihrer Abteilung oder nur bei Ihnen auf?“
  • Prozessabhängigkeit (z. B. nur bei Reports, Stapelläufen): „Tritt das Performance-Problem im ganzen System oder nur bei bestimmten Vorgängen auf?“
  • Geräteabhängigkeit (z. B. nur an Computern im Lager): „Tritt das Performance-Problem auf allen oder nur bestimmten genutzten Geräten auf?“
  • Zeitabhängigkeit (z. B. verstärkt montagmorgens): „Tritt das Performance-Problem immer oder nur zu bestimmten Tagen oder zu bestimmten Uhrzeiten auf?“
  • Softwareabhängigkeit (z. B. Antiviren-Software, die von Dynamics erstellte Dateien scannt): „Tritt das Performance-Problem immer oder beispielsweise nur dann häufig auf, wenn parallel eine andere Software ausgeführt wird?“

 

Allgemeine Performance-Probleme

Anhänge und Bilder

Benutzende können Einfluss auf die Performance durch die Dateigröße von beispielsweise Bildern und Anhängen nehmen. Hochwertige Bilder oder große Dokumente können beim Verarbeiten oder Herunterladen aus Dynamics 365 Business Central (ehemals Dynamics NAV/Navision) unnötig viel Zeit in Anspruch nehmen.

Folgendermaßen können Sie in diesem Bereich zur Performance-Optimierung beitragen:

  • Größe bzw. Qualität von Bildern und Dateien reduzieren
  • Ggf. Einstellungen für die Bildqualität in genutzten Add-Ons vornehmen
  • Ggf. Dateien auf einem externen Speicher (z. B. SharePoint Online) speichern, der die Vorschau von Bildern und Dokumenten ermöglicht und einen Link von einem Datensatz in Dynamics 365 Business Central zu dieser Datei erstellen (Vermeiden, dass Dateien wiederholt heruntergeladen werden müssen, nur um sie in der Vorschau anzuzeigen)

Navigation und Dateneingabe

Benutzende können Einfluss auf die Performance nehmen, indem sie smarte Funktionen zum Erkunden, Navigieren und Eingeben von Daten in Dynamics 365 Business Central bietet, nutzen. Schließlich sind diese Performance-relevant.
Beispiel: Wenn Sie die allgemeine Suche in Listen nutzen, durchsucht das Programm alle Spalten in einer Tabelle. Vielleicht haben Sie oder ihr Team schon öfter folgende Meldung in dem Zusammenhang gesehen: “Die Suche nach Zeilen dauert zu lange. Versuchen Sie, mit anderen Kriterien zu suchen oder zu filtern”.

Folgendermaßen können Sie in diesem Bereich zur Performance-Optimierung beitragen:

Browser

Ein weiterer, durch Benutzende beeinflussbarer Aspekt ist der Browser. Denn wohlgemerkt bieten moderne Browser wohlgemerkt die beste Performance. Außerdem sind einige Optimierungen von Dynamics 365 Business Central (z. B. Page Caching) regulär nur für moderne Browser verfügbar. Zuletzt benötigt Dynamics 365 Business Central Zugriff auf einen modernen Browser, um die Vorteile des Browser-Cachings nutzen zu können. Der Hintergrund ist der, dass der Aufbau einer Seite auf dem Client-Gerät zwischengespeichert wird, wenn eine Seite zum ersten Mal aufgerufen wird (betrifft nicht die Geschäftsdaten der Seite). Beim nächsten Zugriff auf dieselbe Seite wird das Layout der Seite sofort angezeigt, während die neuesten Daten aus Dynamics 365 Business Central abgerufen werden.

Im Folgenden sehen Sie eine Auflistung darüber, welche Browser die Caching-Funktionalität anbieten und welche nicht:

  • Microsoft Edge: verfügbar
  • Chrome: verfügbar
  • Safari: teilweise verfügbar (manchmal funktioniert das sitzungsübergreifende Seiten-Caching nicht)
  • Firefox: teilweise verfügbar (manchmal funktioniert das sitzungsübergreifende Seiten-Caching nicht)
  • Edge Legacy: nicht verfügbar
  • Internet Explorer: nicht verfügbar

Also folgendermaßen können Sie in diesem Bereich zur Performance-Optimierung beitragen:

  • Aktuelle Version des Browsers nutzen
  • Browser-Profile nutzen, wenn Sie über mehrere Accounts und Organisationen hinweg tätig sind. –> Hintergrund: Browser, die im privaten oder Inkognito-Modus ausgeführt werden, leeren normalerweise den Browser-Speicher automatisch, wenn das Browserfenster geschlossen wird, wodurch zwischengespeicherte Daten verworfen und die Vorteile des Seiten-Cachings nicht genutzt werden können, wenn Sie sich das nächste Mal bei Dynamics 365 Business Central anmelden.
  • Vorsichtig bei der Verwendung von Entwicklungsversionen von Browsern sein. Diese können Instabilitäten aufweisen. Sie finden die jeweils gültigen Mindestanforderungen an Dynamics 365 Business Central immer unter folgendem Link: https://learn.microsoft.com/de-de/dynamics365/business-central/product-requirements

Intelligentes Laden von Seiten

Ein weiterer durch Benutzende beeinflussbarer Aspekt, ist das intelligente Laden von Seiten. Folgendermaßen können Sie in diesem Bereich zur Performance-Optimierung beitragen:

  • Datensätze von Listenseiten in Batches* laden
  • Irrelevante Steuerelemente (z. B. Factbox) auf der Seite ausblenden
  • Sekundärinhalte (z. B. Teile des Rollencenters, Spalten) auf der Seite ausblenden

*Verarbeitung in Batches = Computer fasst eine Reihe von Aufgaben automatisch zu einer Gruppe zusammen und führt diese vollständig automatisiert ohne manuelles Eingreifen aus

Netzwerkverbindung

Weiterhin können Benutzende durch die Wahl der Netzwerkverbindung Einfluss nehmen:

  • Mit einem sicheren Netzwerk verbinden
  • Verbindung mit geringerer Latenz* wählen
  • Kabelgebundenes Netzwerk (LAN) dem Funknetzwerk (WLAN) vorziehen, da dies eine höhere Übertragungsgeschwindigkeit aufweist

*Latenz = Zeit, die eine Information von ihrer Quelle zum Ziel braucht

Nutzung von Stapelverarbeitungen beim Buchen

Bei Buchungsprozessen in Dynamics 365 Business Central (z. B. Einstandspreisverarbeitung) werden Tabellen während Buchungsvorgängen gesperrt. Das macht das System, um Daten konsistent zu halten, während Berechnungen und Aktualisierungen durchgeführt werden.
Seit Microsoft Dynamics NAV-Version 2013 gibt es automatisierte Verarbeitungswarteschlangen (Job Queues), bei denen Aufträge, Rechnungen oder andere Datensätze als “Fertig zum Buchen” markiert werden und anschließend im Hintergrund abgearbeitet werden. Falls bei Ihnen also Microsoft Dynamics NAV 2013 oder eine aktuellere Version installiert ist, Sie aber noch nicht mit Stapelverarbeitungen arbeiten, sollten dies unbedingt in Betracht ziehen. Der Vorteil ist offensichtlich: Wenn ein/-e Benutzer/-in nicht auf die Fertigstellung eines Buchungsvorgangs warten muss, da dieser im Hintergrund läuft, nimmt er längere Laufzeiten erst gar nicht als Problem wahr.

Code

Wenn einzelne Berichte oder Prozesse sehr unperformant laufen, lassen Sie den entsprechenden Programmcode überprüfen. Bis zu einem bestimmten Grad ist dies ein einfacher Weg, bestehende Performance Probleme anzugehen und zu eliminieren.

Eine weitere Ursache für Performance Probleme in Dynamics 365 Business Central/Dynamics NAV ist nämlich der Programmcode oder individualisierte Software-Designs (z. B. individuell erstellter Report). Wenn ein Bericht beispielsweise in mangelnder Qualität programmiert wurde, durchläuft er tausende unnötige Datensätze, anstatt die nicht-relevanten Informationen unmittelbar herauszufiltern. Auch könnten Sie die durchlaufenen Datensätze gleichzeitig bearbeiten, obwohl dies gar nicht erforderlich ist.
Sie oder Entwickler/-innen sollten darauf achten, dass für die Auswertung von großen Tabellen entsprechende Schlüssel angelegt werden, sodass nicht immer jeder einzelne Eintrag durchgesucht werden muss.

Nicht performante FlowFields

Ein nicht-performantes FlowField kann große Auswirkungen auf eine ganze Ansicht haben, insbesondere auf Listen, bei denen ein Feld für jeden Datensatz einzeln berechnet wird. Auch wenn evtl. nur ein einziger Datensatz für Sie von Interesse ist.

Prüfen Sie oder lassen Sie durch Ihre Entwickler/-innen prüfen, ob das System evtl. berechnete Felder (FlowFields) nutzt. Folgendes ist zu tun:

  • Sicherung der entsprechenden Objekte ziehen
  • Optimierungsbedürftig identifizierte Felder von der Page entfernen
  • Performanceverbesserung prüfen: Wenn durch das Löschen des FlowFields eine signifikante Verbesserung erkennbar ist, gibt es verschiedene Maßnahmen, die Sie ergreifen können. Erweitern Sie das berechnete Feld um einen korrekten bzw. optimierten Schlüssel auf den darunterliegenden Datensatz (z. B. die Informationen, aufgrund derer das Feld berechnet wird).
  • In Listen auf FlowFields verzichten und diese dafür auf Page bzw. Form-Ebene implementieren: Somit berechnet das System immer nur für einen einzigen Datensatz. Eventuell können Sie FlowFields auch endgültig löschen, falls sie gar nicht mehr benötigt werden.

 

Cloud Performance-Probleme

In der Cloud beeinflusst Microsoft die System-Performance maßgeblich, indem die benötigten Hardware-Ressourcen bereitgestellt werden, sodass viele Performance-Probleme erst gar nicht entstehen können (z. B. durch Arbeitsgerät, angeschlossene Stromquelle).

Internetverbindung

In der Cloud sind Sie von der einer stabilen, entsprechend dimensionierten Internetleitung abhängig. Ein Minimum an Bandbreite ist notwendig. An dieser Stelle können Sie die Nutzung anderer Cloud-Dienste (E-Mail, Office 365 etc.) als Referenz anwenden und selbst entscheiden, ob Ihre lokale Internetanbindung genügend Kapazitäten für die Nutzung einer ERP-Software bietet.

Exkurs: Power-BI-Bericht zur Analyse von Performance-Problemen

Microsoft stellt ein Tool bereit, das Ihnen bei der Analyse der Performance helfen kann. Es handelt sich dabei um einen Power BI-Bericht, der die gefühlte Performance messbar und damit real macht.

Dazu sammelt Dynamics 365 Business Central Telemetriedaten für Aktivitäten und Vorgänge in Ihren Umgebungen. Beispiele: Autorisierung, Changelog Konfigurationsänderungen, Client-Aktionen, Cloud-Migration, Erweiterungsupdates, Aufgabenwarteschlangen, Onboarding, Reporterstellung

Die Überwachung dieser Telemetrie-Daten gibt Ihnen einen Überblick über den Zustand Ihrer Umgebunden, diagnostizierte Fehler und Vorgänge, die die Performance beeinträchtigen.

Die Telemetrie kann auf zwei verschiedenen Ebenen aktiviert werden: Auf Umgebungsebene und App/Erweiterungsebene (seit Business Central Release 2020 Wave 2). Für die Aktivierung der Telemetriedaten müssen Sie über die Azure Application Insights-Ressource verfügen. Dann können Sie Ihre Umgebungen und Anwendungen/Erweiterungen so konfigurieren, dass sie Telemetriedaten an Sie senden.

Dies ist ein erheblicher Vorteil gegenüber der On-Premises-Lösung, in der die Ursachenforschung deutlich schwieriger ist. Nachteilig ist allerdings, dass das Tool kostenpflichtig ist und monatliche Kosten verursacht.

 

On-Premises Performance-Probleme

Dadurch, dass Sie als Kunde bei On-Premises-Systemen deutlich mehr Verantwortung tragen, liegen hier viele Ursachen für Performance-Probleme in Ihrer Hand.

Einen Tipp möchten wir Ihnen nicht vorenthalten: Ggf. können Apps bei der Ursachenforschung behilflich sein (z. B. Code Coverage und SQL Activity Monitor). Sie erlauben es, Systeme im Detail zu analysieren. So können diese Tools beispielsweise erkennen, wie lang jedes SQL-Statement ausgeführt wird, welcher Code durchlaufen wird und wann und wie effizient dies abläuft.

Richtige Anzahl Service-Tiere

Service-Tiere funktionieren so, dass sie Objekte cachen. Ruft ein/-e Mitarbeiter/-in aus der Verkaufsabteilung beispielsweise ein Verkaufsangebot und -auftrag auf, werden diese zwischengespeichert. Wenn jetzt ein/-e Mitarbeiter/-in aus der Finanzbuchhaltung Kontenpläne aufruft, merkt das Service-Tier, dass der Cache voll ist und leert diesen. Genauso wäre es im umgekehrten Fall.

Aus dem Grund empfehlen wir, mehrere Servicetier-Instanzen für unterschiedliche Nutzergruppen (z. B. Verkauf, Finanzbuchhaltung) anzulegen. Generell gilt aus unserer Sicht: Sie können besser zu viele als zu wenige haben.

IT-Infrastruktur

Bezüglich der Performance einer On-Premises Installation spielt die IT-Infrastruktur eine wichtige Rolle. Nutzen Sie Ihr ERP-System lokal auf Ihrem eigenen Server, tragen Sie selbst die Verantwortung und können die Performance des ERP-Systems so auch selbst beeinflussen.

Die Ursachen für Performanceprobleme können sehr vielseitig sein. Hier mal einige

Beispiele:

  • Zu niedrig skalierte Hardware
  • Zu alter und langsamer Server
  • Optimierungsbedürftige Anfragen an SQL Server
  • Beschränkung des Arbeitsspeichers für SQL-Server
  • Missachtung der Skalierungslimits von SQL-Server Versionen
  • Zu wenig RAM
  • Geringe Schreib- und Lesegeschwindigkeit von Platten
  • Virtualisierung (physische Ressourcen sollten nie überbucht werden)
  • Separate Laufwerke für tempdb, DB Daten (.mdf/ndf), DB Log (ldf), Backups

Nutzung eines modernen Arbeitsgerätes

Benutzende können die Performance bis Dynamics 365 Business Central 14 außerdem durch die Wahl der Endgeräte beeinflussen. So nutzen moderne Endgeräte Ressourcen wie Arbeitsspeicher, Netzwerk und Datenspeicher weitaus effizienter und sparsamer als ältere Endgeräte. Außerdem begrenzen moderne Arbeitsgeräte automatisch die für den Browser verfügbaren Ressourcen, wenn sie im Akkubetrieb laufen.

Also folgendermaßen können Sie in diesem Bereich zur Performance-Optimierung beitragen:

  • Laptops und ähnliche Geräte an eine Stromquelle angeschlossen lassen
  • Eine der letzten drei Hauptversionen des Betriebssystems und deren Updates für Ihr Tablet und Smartphone nutzen
  • Webclient nutzen (ab Dynamics 365 Business Central 14): Durch den Systemzugriff via Browser ist die Nutzung vom Arbeitsgerät unabhängig.

Report Server

Eine weitere Möglichkeit, die Arbeitslast Ihrer ERP-Lösung zu reduzieren, ist, einen Teil der Arbeit auf ein anderes System auszulagern . Ein Paradebeispiel hierfür ist das Auslagern von Analysen und Berichten auf einen eigenen Reporting Server. Hiermit werden die täglichen Aufgaben und Systemprozesse nicht durch das Ausführen von Berichten und Analysen beeinträchtigt. Insbesondere, wenn es sich um vom User selbst erstellte, ineffiziente Reports handelt, die den SQL-Server unnötigerweise auslasten.

Andere Optionen bieten sich durch die Produkte der Power Plattform (z. B. Power Automate, Power Apps, Power BI).

Weitere beliebte Artikel