Performance verbessern: Unterschied zwischen den Versionen
(→Datenbank-Indizes) |
|||
(4 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
== Allgemeines == | == Allgemeines == | ||
− | |||
Dieser Artikel beschreibt, mit welchen Maßnahmen man die [http://de.wikipedia.org/wiki/Leistung_(Informatik) Performance] des Programms verbessern kann. | Dieser Artikel beschreibt, mit welchen Maßnahmen man die [http://de.wikipedia.org/wiki/Leistung_(Informatik) Performance] des Programms verbessern kann. | ||
Zeile 19: | Zeile 18: | ||
==== Hardware ==== | ==== 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 [http://de.wikipedia.org/wiki/Hashtabelle Hashtabellen] im Arbeitsspeicher auf. Hier merken sie sich, welche Abfragen besonders häufig vorkommen und optimieren den Zugriff darauf im Arbeitsspeicher. | + | * 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 [http://de.wikipedia.org/wiki/Hashtabelle 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. | * 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%3F|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. | ||
+ | |||
==== Datenbank-Indizes ==== | ==== Datenbank-Indizes ==== | ||
− | Ein [http://de.wikipedia.org/wiki/Datenbankindex 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'''. | + | Ein [http://de.wikipedia.org/wiki/Datenbankindex 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. | * Vorteil: Das '''Einlesen''' von Daten wird '''signifikant''' beschleunigt. | ||
Zeile 42: | Zeile 49: | ||
* Der Artikel '''[[Standard-Indizes der GEVAS-Professional-Datenbank]]''' beinhaltet Informationen über die empfohlenen oder erweiterten Indizes einer [[GEVAS-Professional]]-Datenbank. | * Der Artikel '''[[Standard-Indizes der GEVAS-Professional-Datenbank]]''' beinhaltet Informationen über die empfohlenen oder erweiterten Indizes einer [[GEVAS-Professional]]-Datenbank. | ||
+ | |||
=== Client, Rechner === | === Client, Rechner === | ||
Zeile 47: | Zeile 55: | ||
Da sich die GEVITAS-Programme laufend den Anforderungen anpassen, steigt auch die Anforderung an die Rechner. Ein paar Tipps dazu: | 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 [[REFLEX: Benutzerprofil|Benutzerprofil]] den Farbverlauf aus. Bei älteren Rechnern ist die CPU für das Berechnen von Grafiken zuständig, bei neueren macht das die Grafikkarte. | + | * Wenn Sie ältere Hardware verwenden, schalten Sie im [[REFLEX: Benutzerprofil|Benutzerprofil]] den Farbverlauf aus. |
− | * Benutzen Sie den | + | : 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! | ||
+ | |||
+ | |||
+ | === Terminal-Server, RDC, Citrix und Co. === | ||
+ | |||
+ | Wenn Sie das Programm über einen Remote-Server benutzen: | ||
+ | |||
+ | * Schalten Sie im [[REFLEX: Benutzerprofil|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. | ||
+ | |||
+ | |||
+ | == Speicherort der Benutzerprofil-Dateien == | ||
+ | |||
+ | === 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. | ||
+ | |||
+ | === Benutzerprofil-Dateien lokal ablegen === | ||
− | + | In der [[INI-Datei]] kann man den Ort der Benutzerprofil-Dateien festlegen. | |
− | Wenn | + | * 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. |
Aktuelle Version vom 10. September 2020, 11:00 Uhr
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.