You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 2 Next »

Einführung in das Thema

Die Gründe für eine niedrige Programmperformance können vielfältig sein. Sie können zum einen durch eine ungünstige Konfiguration innerhalb der Software verursacht werden, zum anderen jedoch auch außerhalb der Software liegen. Deshalb sollte die Ursachenforschung alle Komponenten einschließen.

Mögliche Ursachen und Maßnahmen

Innerhalb microtech büro+

Einige in büro+ genutzte Funktionen können bei ungünstiger Anwendung die Leistung des Datenservers negativ beeinflussen.

BereichZur FunktionMögliche MaßnahmenBeispielWeitere Infos zur Funktion
DBInfo-Formeln

Diese Formeln können sehr praktisch sein.

Sie sollten jedoch nur an Stellen verwendet werden, an denen diese unbedingt erforderlich sind!

Das müssen Sie wissen:

  • Jede Anwendung dieser Formeln kostet zusätzlichen Arbeitsspeicher und CPU-Zeit am Datenserver
  • Tabellenansichten, in denen DBInfo-Formeln verwendet werden, benötigen eine längere Zeit zum Laden, was zu verlangsamten Bereichswechseln und verzögertem Scrollverhalten führen kann
  • Die Verwendung von DBInfo-Formeln in Regeln erhöhen die Regelausführungsdauer ebenso maßgeblich
  • Wenn möglich DBInfo-Formeln vermeiden / Alternativen suchen
  • DBInfo-Formeln nur an Stellen verwenden, die nicht stetig aufgerufen werden
  • Bei Verwendung von DBInfo-Formeln, das Verschachteln mehrerer DBInfo-Formeln vermeiden

Beispiel: Im Bereich der Vorgänge wird der Wert aus einem Selektionsfeld der Adresse benötigt.


Alternative zu DBInfo-Formel:

Anstatt dieses in der Tabellenansicht per DBInfo auszulesen, kann mit Hilfe einer Regel der Feldwert aus dem Adress-Datensatz beim Speichern eines Vorgangs auch in ein Selektionsfeld des Vorganges geschrieben werden.

Bei dieser Alternative wird die DBInfo-Formel nur einmalig je Vorgang ausgeführt und erhöht nicht dauerhaft die Server-Last, wenn in der Vorgangs-Tabelle gearbeitet wird.

Weitere Informationen zu den beschriebenen Funktionen:

Anzeigefilter in Tabellenansichten

Diese Filter werden direkt auf dem Datenserver ausgeführt und erhöhen daher den Aufwand, die Daten dem Client zur Verfügung zu stellen. 

Tabellenansichten mit Anzeigefiltern bauen sich entsprechend langsamer auf.

Beachten Sie:

Sind umfangreichere Filter mit mehreren Feldern aktiv, so ist die höhere Last am Datenserver auch auf den anderen Clients spürbar, die möglicherweise keine Tabellenansicht mit Anzeigefilter verwenden. Das gesamte System kann dadurch verlangsamt werden, wenn nur ein einziger Client in einen Bereich wechselt, indem eine Tabelle mit Anzeigefilter aktiv ist.

 

  • Anzeigefilter nicht in Bereichen mit vielen Datensätzen verwenden (> 5.000 Einträge)
  • Tabellenansichten mit Anzeigefilter nur bei Bedarf verwenden und nicht als Standard-Tabellenansicht Sortierungsfilter verwenden.
  • Beim Aufruf einer Sortierung mit Sortierungsfilter wird der Server nicht zusätzlich belastet

Beispiel:

Sie haben einen Anzeigefilter für eine Tabellenansicht eingestellt, die nur Datensätze mit einem bestimmten Merkmal darstellen soll.

Alternative zum Anzeigefilter:

Stattdessen legen Sie im DB-Manager für die entsprechende Tabelle eine neue Sortierung an und hinterlegen die Filterbedingung als Sortierungsfilter.

Die neue Sortierung stellen Sie als Standard-Sortierung für die Tabelle ein (in Eigenschaften der Tabellenansicht). Sie erreichen damit das gleiche Ergebnis, jedoch ohne die Last auf dem Datenserver zu erhöhen

Weitere Informationen zu den beschriebenen Funktionen:

Regeln******

Regeln verursachen zusätzliche Last für das System.

Farb- und QuickInfo-Regeln sind hier besonders hervorzuheben, da diese bereits beim Laden einer Tabellenansicht greifen.

Regeln werden Clientseitig ausgeführt. Da der Client für die Auswertung der Regeln die benötigten Feldinhalte laden und Funktionen ausführen muss, steigt der benötigte Aufwand, um die Tabellenansicht mit allen Inhalten darzustellen.

  • Nicht zwingend benötigte Farbregeln deaktivieren
  • Formeln zur Bedingungsprüfung optimieren

  • Keine DBInfo-Formeln in der Bedingung verwenden

  • Anstatt der Verwendung mehrerer Regeln, versuchen Regeln mit verzweigter Bedingung zu verwenden

Beispiele:

  • Anstelle per DBInfo-Formel den Feldwert eines Datensatzes aus einer anderen Tabelle zu prüfen, versuchen die Bedingungsprüfung auf ein Feld zu tätigen, welches in der aktiven Tabelle bereits vorhanden ist, oder aber ein Selektionsfeld mit einer Regel beim Speichern zu befüllen (siehe Beispiel-Maßnahme für DBInfo-Regeln)
  • Zum Prüfen ob die Vorgangsart = Rechnung I ist, nicht „Vog.Art=‘Rechnung I‘“ prüfen, sondern ToInt(Vog.Art)=70

Unterstützung für Berechtigungsgruppen-Prüfung auf Datensatzebene

Ist das Kennzeichen: "Unterstützung für Berechtigungsgruppen-Prüfung auf Datensatzebene" im DB-Manager bei einer unterstützten Tabelle aktiv, so werden die Datensätze dieser Tabelle vor der Anzeige einer Prüfung unterzogen.

Bei einer sehr hohen Anzahl von Datensätzen in einer Tabelle kann dies die Performance beeinträchtigen. Die Berechtigungsprüfung erfolgt nur bei Benutzern, die nicht der Berechtigungsstruktur „Supervisor“ angehören.

Ist eine Tabelle bei einem Benutzer mit Supervisor-Berechtigung performant und bei einem Standard-Benutzer nicht, so ist dies ein Indikator dafür, dass es möglicherweise an der Berechtigungsgruppen-Prüfung liegen kann.

Weitere Informationen zu den beschriebenen Funktionen:

Berechtigungsgruppen-Prüfung auf Datensatzebene


Detail-Ansichten

Detail-Ansichten stellen Informationen aus anderen Bereichen passend zum gewählten Datensatz dar.

Diesem Mehrwert steht ein erhöhter Aufwand für den Datenserver gegenüber, da dieser abhängig von den gewählten Detail-Ansichten und der darin enthaltenen Daten größere Datenmengen in den Arbeitsspeicher laden, filtern und über das Netzwerk versenden muss.

Jede aktive Detail-Ansicht erhöht somit die Server- und Netzwerklast.

Beachten Sie:

Bei Detail-Ansichten die eine Archiv-Funktion anbieten (z.B. Vorgänge/Vorgänge Archiv) erhöht sich die zusätzliche Last nochmals, da in einer Ansicht nicht nur eine, sondern gleich zwei Tabellen geladen werden.

  • Nicht benötigte Detail-Ansichten deaktivieren und nur bei Bedarf einblenden.
  • Bei großen Tabellen Anzeigefilter in Tabellen für Detail-Ansichten vermeiden (Wenn möglich vollständig vermeiden!)
  • Formeln und Funktionen in Feldern der Tabellenansicht der Detail-Ansicht vermeiden
  • Archive in Detail-Ansichten standardmäßig ausblenden und nur bei Bedarf einblenden

Weitere Informationen zu den beschriebenen Funktionen:

Detail-Ansicht

Inhalte der Tabellenansichten
  • Berechnete Felder, variabel lange Felder und Feldformeln beeinflussen die Performance beim Aufbau einer Tabellenansicht

Info:

Beispiele für berechnete Felder sind die Info-Image Felder, die verschiedene Daten miteinander kombinieren und die Darstellung entsprechend anpassen (Lagerinformationen / Ampeldarstellung).

  • Bei variablen langen Feldern handelt es sich um Felder, deren Datenmenge nicht begrenzt ist, wie z. B. Artikelbezeichnungen, Info- und Memofelder
  • Feldformeln sind hinterlegte Funktionen in Tabellen wie beispielsweise die Funktion „calc“, bei der Integer- und Floatwerte miteinander verrechnet werden können
  • Auch die Anzahl der dargestellten Zeilen hat eine Auswirkung auf die Performance. Bei einer einzeiligen Tabellenansicht werden je nach Auflösung 30-35 Datensätze vorgeladen, um diese in der Tabelle darzustellen
  • Alle in der Tabellenansicht nicht benötigten Felder entfernen
  • Nur Info-Image Felder verwenden, die zwingend benötigt werden
  • Eine minimalistische Standard-Tabellenansicht verwenden und auf eine erweiterte Tabellenansicht nur bei Bedarf wechseln
  • Eine minimalistische Ansicht enthält nur Felder mit einer fixen Länge, also keine variabel langen Felder und auch keine berechneten Felder
  • Die Tabellenansicht auf Zwei- oder Mehrspaltige Darstellung konfigurieren, sodass weniger Datensätze zum Aufbau einer Seite geladen werden müssen

Weitere Informationen zu den beschriebenen Funktionen:


Abarbeitung von Automatisierungs-Aufgaben***In Vorbereitung


E-Commerce***Performance verbessern




Einflussfaktoren außerhalb von microtech büro+

fg

  • No labels