Performance verbessern
Inhaltsverzeichnis
1 Allgemeines
Dieser Artikel beschreibt, mit welchen Maßnahmen man die Performance des Programms verbessern kann.
2 Was ist Performance
Als Performance bezeichnet grob gesagt man die Zeit, die ein Programm benötigt, um eine bestimmte Aufgabe zu lösen, z.B.
- Wie schnell wird ein bestimmter Auftrag gefunden
- Wie schnell wird die Verbuchung einer Auftragsposition durchgeführt
usw.
2.1 Server
Vereinfacht gesagt, kann man die Performance eines Datenbank-Servers verbessern durch diese Maßnahmen:
2.1.1 Hardware
- RAM-Speicher (Arbeitsspeicher): Geben Sie dem SQL-Datenbank-Server so viel Arbeitsspeicher wie möglich!
- SQL-Maschinen bauen sich im Laufe der Zeit sog. interne Hashtabellen im Arbeitsspeicher auf.
- Hier merken sie sich, welche Abfragen besonders häufig vorkommen und optimieren den Zugriff darauf im Arbeitsspeicher.
- Verwenden Sie ein 64-Bit-Betriebssystem, das mehr als 3 GByte Speicher nutzen kann.
- Wenn Sie den "MS SQL Server Express" verwenden, beachten Sie die Einschränkungen der Express-Versionen
- (Max. RAM-Speicher, Prozessor-Kerne usw.)
- Denken Sie über den Einsatz von mySQL© nach, siehe Welches Datenbank-System verwenden?.
- Der "Flaschenhals" eines Servers ist meist die Festplatte!
- Der Grund liegt darin, dass der SQL-Server sicherstellen muss, dass die gerade gespeicherten Daten auch allen Benutzern sicher sofort zur Verfügung stehen.
- Also müssen neue Daten sofort auf die Festplatte. Bei neuen Daten müssen aber meist auch die Indizes aktualisiert werden, was einen weiteren Festplatten-Zugriff notwendig macht.
2.1.2 Datenbank-Indizes
Ein Datenbank-Index ist ein Mechanismus einer Datenbank-Maschine, der bestimmte Felder (Spalten) einer Tabelle indiziert.
Dadurch merkt sich der Datenbank-Server in einer speziellen internen Tabelle, welche Werte es für das ausgewählte Feld gibt. Der Zugriff auf bestimmte Werte der Tabelle wird dadurch wesentlich beschleunigt.
- Vorteil: Das Einlesen von Daten wird signifikant beschleunigt.
- Nachteil: Das Einfügen von Daten wird verlangsamt.
Das Anlegen von Indizes einer Datenbank ist eine Wissenschaft für sich!
Die REFLEX bzw. GEVAS-Professional bringen bei der Neuinstallation eine Datenbank mit, in den eigentlich alle notwendigen Indizes gesetzt sind.
- Der Artikel Standard-Indizes der REFLEX-Datenbank beinhaltet Informationen über die empfohlenen oder erweiterten Indizes einer REFLEX-Datenbank.
- Der Artikel Standard-Indizes der GEVAS-Professional-Datenbank beinhaltet Informationen über die empfohlenen oder erweiterten Indizes einer GEVAS-Professional-Datenbank.
2.2 Client, Rechner
Da sich die GEVITAS-Programme laufend den Anforderungen anpassen, steigt auch die Anforderung an die Rechner. Ein paar Tipps dazu:
- Wenn Sie ältere Hardware verwenden, schalten Sie im Benutzerprofil den Farbverlauf aus.
- Bei älteren Rechnern ist die CPU für das Berechnen von Grafiken zuständig, bei neueren macht das die Grafikkarte.
- Schalten Sie in den Energie-Optionen die Spar-Optionen für das Netzwerk aus.
- Benutzen Sie nicht die Netzwerk-Anschlüsse von IP-Telefonen für den PC!
2.3 Terminal-Server, RDC, Citrix und Co.
Wenn Sie das Programm über einen Remote-Server benutzen:
- Schalten Sie im Benutzerprofil den Farbverlauf aus.
- Das Übertragen von Farbverläufen erfordert viel, viel mehr Daten als das Übertragen einer einfarbigen Fläche!
- Je mehr Sessions laufen, desto mehr RAM und CPU-Leistung wird benötigt.
3 Speicherort der Benutzerprofil-Dateien
3.1 Hintergrund
Eigentlich ist es eine gute Idee, die Benutzerprofil-Dateien auf einem Server-Laufwerk abzulegen.
- Das hat den Vorteil, dass sich Benutzer*innen an verschiedenen Rechnern an das Programm anmelden können und überall die gewohnte Programm-Umgebung vorfinden, also Farben, gewählte Optionen, Einstellungen der Tabellen usw.
- Leider kann es sein, dass das Speichern der Einstellungen auf einem Server-Laufwerk länger dauert!
- Das führt dazu, dass das Schließen eines Fensters ein paar Sekunden lang dauert, obwohl die eigentliche Datenbank-Abfrage darin schon längst abgeschlossen ist.
- Hinweis
- Technisch gesehen "merkt" sich das Programm beim Schließen eines Fensters alle Einstellungen, die das Fenster betreffen, in der Benutzerprofil-Datei.
- Wenn man also z.B. einen Auftrag erfasst öffnet und schließt man beispielsweise diese Fenster:
- Status festlegen
- Kunde suchen/auswählen
- Wiederholt Artikel suchen/auswählen
- Unter Umständen mehrmals in die Dispo schauen
- Liefer-/Abhol-Anschrift festlegen
- Versandart auswählen
usw.
Jedesmal schreibt das Programm also in die Benutzerprofil-Dateien.
3.2 Benutzerprofil-Dateien lokal ablegen
In der INI-Datei kann man den Ort der Benutzerprofil-Dateien festlegen.
- Wenn man die Benutzerprofil-Dateien lokal auf dem Rechner ablegt, gewinnt man u.U. enorm an Performance,
- verliert aber den Komfort, dass sich Benutzer/innen an jedem Arbeitsplatz anmelden können
- und ihr gewohntes Aussehen des Programms haben.
- Wenn man mit Remote Desktop oder einem ähnlichen System arbeitet, ist es empfehlenswert, die Benutzerprofil-Dateien lokal abzulegen.
- Grund
- Jede*r Benutzer*in arbeitet ja in Wirklichkeit nicht an seinem Arbeitsplatz, sondern auf dem Remote-Server, also eigentlich lokal.
- Man kann sich also an einem beliebigen Rechner anmelden, Remote starten und hat seine gewohnten Programm-Einstellungen!
- Man hat also eine verbesserte Performance und trotzdem ein zentrale Stelle für die Benutzerprofil-Dateien.