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.

Allerdings sollten DBInfo-Formeln nur an Stellen verwendet werden, an denen diese unbedingt erforderlich sind!

Das müssen Sie wissen:

  • Jede Anwendung von DBInfo-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 trägt somit dazu bei, dass die Server-Last nicht dauerhaft hoch ist, wenn in der Vorgangs-Tabelle gearbeitet wird.

Weitere Informationen zu den beschriebenen Funktionen:

Anzeigefilter in Tabellenansichten

Die Anzeigefilter 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, in dem 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 so 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 Sie 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 (siehe hierzu die obige 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

Weitere Informationen zu den beschriebenen Funktionen:

Regeln, Filter und Selektionen (Regeln für Plattformen)

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


  • Berechnete Felder:

    Bitte beachten Sie:

    Felder, die erst zur Laufzeit ermittelt werden (z. B. Gesamtpreise, berechnete Felder), können nicht in der Sortierung verwendet werden.


    Erläuterung: "berechnete Felder":

    Diese Felder können nicht über eine Eingabemaske befüllt oder importiert werden. Da diese von der büro+ während der Laufzeit selbst errechnet bzw. befüllt werden.

    Beispiele:

    • Kennzeichen Felder, welche berechnet werden:
      • Artikel hat Zusätze / Zubehör Kennzeichen [HatZusKz]
      • Position ist Zusätze- / Zubehör Position Kennzeichen [IstZusKz]
      • Zusätze verfügbar [Art.ZusaetzeKz]
    • Info-Image Felder, die verschiedene Daten miteinander kombinieren und die Darstellung entsprechend anpassen (z.B.: "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:


Vorgänge

Wurde in den Buchungsparameter (z. B. für das Angebot) das Kennzeichen "Offene Vorgänge nach Adressnummerneingabe melden" aktiviert, wird beim Öffnen von Vorgängen, für die dieses Kennzeichen greift, eine Meldung über die offenen Vorgänge für die gewählte Adresse angezeigt.

Sofern für eine Adressnummer sehr viele offene Vorgänge existieren, kann die Performance unter Umständen beim Erstellen bzw. Öffnen eines Vorgangs ausgebremst werden.

Wurden für eine Adresse mehr als 50 offene Vorgänge erfasst, so werden aus Gründen der Performance maximal 50 offene Vorgänge für die Meldung geladen und angezeigt.


  • Die aktivierte Anzeige offener Vorgänge benötigt bei jedem Öffnen eines Vorgangs Ressourcen: Für Adressen, für die es sehr viele offene Vorgänge gibt (z. B. offene Angebote), sollte aus diesem Grund eine AutoArchivierung eingerichtet werden
  • Lassen Sie über diese Funktionen in regelmäßigen Abständen veraltete offene Angebote in das Archiv verschieben, z. B. alle offenen Angebote, die älter 6 Monate sind


Beispiel für mehr als 50 vorhandene offene Vorgänge:

Existieren für eine Adresse mehr als 50 offene Vorgänge, so werden aus Gründen der Performance maximal 50 offene Vorgänge für die Meldung geladen und angezeigt.

Aus Gründen der Performance ist es sinnvoll, ältere Vorgänge, die noch "offen" sind, regelmäßig in das Archiv verschieben verschieben zu lassen. Haben Sie beispielsweise an eine Adresse viele Angebote gerichtet, die aber nicht angenommen und somit nicht weiterverarbeitet wurden, bietet es sich an diese in das Archiv zu verschieben.

Dies geht auch automatisch: So kann z. B. für offene Vorgänge (wie beispielsweise "Angebote"), eine AutoArchivierung eingerichtet werden.

Informationen zum Kennzeichen: "Offene Vorgänge nach Adressnummerneingabe melden" erhalten Sie in unserer Hilfe:

Informationen zum automatischen Archivieren von offenen Vorgängen erhalten Sie in folgendem Hilfe-Artikel:

Parameter für das Ereignis-Protokoll

Erweiterte Protokollierungen können direkte Auswirkungen auf die Performance haben.


  • Diese Parameter sollten nur im Falle einer Analyse aktiviert werden
  • Nur für die Analyse benötigte Protokollierungen sind vorzunehmen
  • Nach erfolgreicher Diagnose, ist die erweiterte Protokollierung wieder zu deaktivieren

Beispiel:

Es scheint ein Problem bei der Verarbeitung von Drucken vorzuliegen, zusätzlich dauern Einzeldatenbank-Abfragen länger als sonst.

In diesem Beispiel sollten die vorliegenden Vorkommnisse einzeln untersucht werden und die passende erweiterte Protokollierung mit Bedacht eingeschaltet werden. Sobald durch die Analyse der Fehler eingegrenzt werden konnte, ist die erweiterte Protokollierung wieder abzuschalten.


Weitere Informationen zu den einzelnen Parameter des Ereignis-Protokolls finden Sie im Artikel:

Parameter für das Ereignis-Protokoll

Netzwerk-Betrieb von büro+

(BpConfig)

Der Einsatz mehrerer zur Verfügung stehender Netzwerkadapter kann unter Umständen Auswirkungen auf die Performance von büro+ im Netzwerk haben. Dies betrifft sowohl physische als auch virtuelle Netzwerkadapter.

In der büro+ Serverkonfiguration kann in diesem Fall im Register „TCP“ zwischen mehreren Adaptern gewählt werden. An dieser Stelle ist nun EIN fester Adapter auszuwählen.

Hinweis

Falls der Rechner auf dem der büro+ Server läuft permanent an das Internet angeschlossen ist, sollte der Server nur an Adapter gebunden werden, die zum lokalen Netz gehören.

Beispiel:

Auf dem Rechner, der den microtech büro+ Server ausführt, befinden sich zwei Adapter. In der microtech - Serverkonfiguration ist die Auswahl: "Nur an folgende Adapter" binden auszuwählen. Nun erfolgt eine Auswahl mittels Kennzeichen, welcher Adapter zu nutzen ist.

Wählen Sie nun einen passenden Eintrag, und bestätigen Sie die Schaltfläche "OK". 

Prüfen Sie abhängig von Ihren speziellen Begebenheiten, ob durch diese Maßnahme eine Performance-Steigerung herbeigeführt werden kann und ob der büro+ Server mit der neuen Adapterauswahl an allen angebundenen Clients zuverlässig funktioniert.


Automatisierungs-AufgabenDie "Automatisierungsaufgaben" stellen ein umfangreiches Automatisierungswerkzeug in microtech büro+ dar: Bereichs-Aktionen, Importe, Exporte, etc. lassen sich zeitgesteuert durchführen. Auch hier bestimmt die Menge und die Komplexität der Aufgaben, wie sehr die Perfomance beansprucht wird.
  • Häufigkeit der Ausführung reduzieren
  • Komplexität der Aufgabe überprüfen
  • Parallel laufende Automatisierungs-Aufgaben zeitlich optimieren (ggf. weniger relevante Aufgaben später ausführen)
  • Prüfen, wie viele Dienste im Einsatz sind und wie viele tatsächlich benötigt werden
  • Hardware an die veränderte Situation anpassen
  • Automatisierungsdienst in der gleichen Windows-Session wie Server-Dienst nutzen

Häufigkeit der Ausführung reduzieren:

  • Wie viel Zeit beansprucht die Durchführung einer Aufgabe?
  • Wie oft wird eine Aktualisierung der Aufgabe benötigt?

Komplexität der Aufgabe reduzieren:

  • Prüfen Sie die Aufgabe, z. B. einen Export oder Prüflauf, auf die Notwendigkeit der bereitgestellten Daten - lässt sich die Aufgabe um redundante Ausgaben reduzieren? Passen Sie die Aufgabe entsprechend an

Parallel laufende Automatisierungs-Aufgaben zeitlich optimieren:

  • Laufen mehrere Aufgaben zur gleichen Zeit? Überprüfen Sie, ob einige Aufgaben nicht in ein anderes Zeitfenster gebracht werden können

Hardware an die veränderte Situation anpassen:

  • Sollten Sie beabsichtigen in Zukunft noch mehr Automatisierungsaufgaben als bisher ausführen zu wollen, lohnt es sich über eine Optimierung der vorhandenen Hardware zu informieren. 

Automatisierungsdienst in der gleichen Windows-Session wie Server-Dienst nutzen:

  • Sofern der Client in der gleichen Sitzung wie der Server läuft, profitieren Sie von einer gesteigerten Performance, da das "Shared Memory Protokoll" genutzt werden kann: Das "Shared Memory Protokoll" greift ohne Umwege direkt auf den Speicher des Servers zu. Sind die oben angegebenen Bedingungen nicht erfüllt, erfolgt ein Rückfall auf TCP/IP.

Weitere Informationen zu den beschriebenen Funktionen:

E-Commerce und Middleware


Die Nutzung von microtech büro+ gemeinsam mit der Middleware und einer oder mehrerer Verkaufsplattformen erhöht die Anforderungen an das System.

Deshalb gibt es in diesem Bereich spezielle Systemvoraussetzungen:

Systemvoraussetzungen microtech E-Commerce / Logistik & Versand





Sie haben das Gefühl, dass Ihr System, bestehend aus büro+, Middleware Verkaufsplattform(en) und ggf. weiteren Komponenten, schneller oder stabiler laufen könnte?

Wir haben im Bereich der Middleware einen Leitfaden für Sie zusammengestellt:

Performance verbessern (Middleware)

Die Beispiele finden Sie im Artikel:

Performance verbessern (Middleware) 

Weitere Informationen zu den beschriebenen Funktionen:

Umsatzsteuer-Einzelausweisung Die Steuer-Einzelausweisung kann unter Umständen sehr viel Performance kosten, da sie für die Netto-, Steuer- und Brutto-Beträge jeweils eigene Felder bereitstellt.Unter PARAMETER - UMSATZSTEUER - kann für die Datensätze das Kennzeichen : "Felder für die Steuer-Einzelausweisung bereitstellen (perfomancelastig)" deaktiviert werden.

Weitere Informationen zu den beschriebenen Funktionen:

Umsatzsteuer


Einflussfaktoren außerhalb von microtech büro+

Außerhalb des Programmes sind sämtliche Faktoren, welche die System-Performance beeinflussen könnten, zu berücksichtigen. Dies beinhaltet die Auswahl der verwendeten Hardware wie auch sonstige auf dem System laufende Software.

BereichZur FunktionMögliche MaßnahmenWeitere Infos zur Funktion
Arbeitsspeicher
  • In Mehrbenutzer-Umgebungen, in denen parallel mit größeren Datenmengen aus verschiedenen Bereichen gearbeitet wird, kann dies zu einem limitierenden Faktor werden
  • Den Arbeitsspeicher erweitern
  • Ein 64-Bit Betriebssystem verwenden, da mit diesem mehr Arbeitsspeicher (bis zu 4 GB) mit dem Client genutzt werden kann. In einem 32-Bit Betriebssystem kann bis zu 3 GB mit dem Client verwendet werden
  • Den microtech Enterprise-Server verwenden: Der Enterprise-Server verfügt über eine bessere Performance, wodurch viele Aktionen direkt im RAM ausgeführt werden können

Weitere Informationen zu den beschriebenen Funktionen:

Technische Dokumentation zum microtech Enterprise-Server

Weitere Programme auf dem Server-SystemWeitere auf dem Server laufende Programme können die Performance negativ beeinflussen. Besonders daten- und speicherlastige Applikationen sind hier zu beachten.
  • Auf keinen Fall einen Exchange-Server, Web-Proxy, Domain-Controller oder Datei-Server auf dem gleichen System betreiben!
  • Für die Serverinstallation ein vollständig exklusives System verwenden, auf dem keine anderen Anwendungen laufen

VirenscannerVirenscanner, die den Datenverkehr live beobachten, können die Server-Geschwindigkeit beeinflussen.
  • Das microtech-Verzeichnis als Ausnahme definieren
  • Den Prozess BpNexT.exe als Ausnahme definieren
  • Den Dienst „BueroPlusServer“ als Ausnahme definieren
  • Den verwendeten TCP-Port als Ausnahme definieren

Info:

Der verwendete Port ist in der büro+ Serverkonfiguration bzw. BpConfig am Datenserver einzusehen im Register "TCP".

Standardmäßig ist das Port 16323.

Weitere Infos zur Serverkonfiguration finden Sie im Kapitel: Daten Server Anbindung (Serverkonfiguration).

Weitere Informationen zu den beschriebenen Funktionen:

Die Datenstruktur

Windows-Einstellungen für den Energiesparplan

Der Energiesparplan in Ihrem Betriebssystem hat die Aufgabe Strom zu sparen, wo immer es sinnvoll und möglich ist. Dies kann in Zusammenhang mit einem stark performanten System natürlich auch zu Konflikten führen.
  1. Öffnen Sie die Windows-Einstellungen mit der Tastenkombination: Windowstaste + I und suchen Sie nach "Energiesparplan auswählen".
  2. Im neuen Fenster finden Sie den Eintrag: "Auswählen oder Anpassen eines Energiesparplans". Zum Ändern der Einstellungen sind Administrationsrechte erforderlich. 
  3. Stellen Sie in die Einstellungen in den Windows-Einstellungen auf "Höchstleistung" oder besser: "Ultimative Leistung". Dies ist sowohl am Server als auch den Clients in den Windows-Einstellungen entsprechend zu ändern


Tastenkombination "Windows + I" und Eingabe von "Energiesparplan auswählen".


Falls Energiesparpläne nicht direkt anwählbar sind, in Administrationsrechte wechseln.


An dieser Stelle "Höchstleistung" oder "Ultimative Leistung" als Energiesparplan wählen.

Tipp:

Bei Windows 10 Pro für Workstations sollte bereits die Einstellung "Ultimative Leistung" existieren.

Für andere Windows 10-Installationen können Sie über die Kommandozeile diese Einstellung aktivieren:

  1. Öffnen Sie mit der Tastenkombination "Windowstaste + R" das Kommandozeilentool
  2. Fügen Sie den folgenden Befehl ein: powercfg -duplicatescheme e9a42b02-d5df-448d-aa00-03f14749eb61
  3. Schließen Sie das Fenster der Kommandozeile und wechseln Sie erneut in die Auswahl des Energiesparplans


Beachten Sie:

Diese Einstellungen gehen zu Lasten des Stromverbrauchs.

Bei Laptops kann sich dadurch unter Umständen die Akkuleistung verringern, wenn dieser nicht am Netzteil, sondern mit Akku betrieben wird.

Laptops sollten für die optimale Performance mit microtech büro+ an einem Netzteil und mit LAN-Kabel betrieben werden.

Allgemeine Empfehlungen und Maßnahmen

  • Aktualisierungsintervall in den Datenbankeinstellungen an einzelnen Clients erhöhen oder gar auf „manuell“ stellen
  • Unter START-PARAMETER-SONSTIGE-GLOBALE EINSTELLUNGEN kann ein Mindest- Aktualisierungsintervall hinterlegt werden, der für alle Clients gilt

  • Datenträger mit 64 KByte Blockgröße formatieren, da die Blockgröße der Datenbank ebenfalls 64 KByte beträgt
  • Einsatz des Enterprise-Servers (beachten Sie auch die Hinweise zum Enterprise-Server im verlinkten Dokument)
  • Nicht mehr benötigte Daten (bspw. älter als 10 Jahre) nach vorheriger Sicherung aus dem Mandanten löschen, siehe hierzu auch das Kapitel: "Bereinigungs-Assistenten ausführen" und beachten Sie die dortigen Hinweise zur Datensicherung
  • Unterstützung für Archivmandanten nutzen. Damit wird eine Kopie des aktuellen Mandanten erstellt und anschließend werden die Daten aus einem angegebenen Zeitraum gelöscht. Zum Durchsuchen dieser alten Daten kann jederzeit in den Archivmandant gewechselt werden



  • Bei virtualisierten Systemen:
    • Leistungswerte einer virtuellen Maschine immer im Kontext des gesamten Systems sehen, da die Leistungswerte der virtuellen Maschine sich immer nur auf die aktuell vom Host-System zugewiesenen Ressourcen beziehen
    • Es zählen die gleichen Anforderungen, die auch bei Verwendung einer physikalischen Maschine zutreffen
  • No labels