Performance verbessern: Unterschied zwischen den Versionen

Aus GEVITAS
Wechseln zu: Navigation, Suche
Zeile 26: Zeile 26:
 
** '''Eine Datenbank darf maximal 10 GB groß sein (in 2008 R1 nur 4 GB)''': Die wenigsten Kunden werden dieses Limit erreichen.
 
** '''Eine Datenbank darf maximal 10 GB groß sein (in 2008 R1 nur 4 GB)''': Die wenigsten Kunden werden dieses Limit erreichen.
  
* Nutzen Sie neuere Hardware, die z.B. [http://de.wikipedia.org/wiki/Festplatte#SATA SATA] benutzt.
+
* '''Nutzen Sie neuere Hardware''', die z.B. [http://de.wikipedia.org/wiki/Festplatte#SATA SATA] benutzt. 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 ====
Zeile 39: Zeile 39:
 
Die [[REFLEX]] bzw.  [[GEVAS-Professional]] bringen bei der Neuinstallation eine Datenbank mit, in den eigentlich alle notwendigen Indizes gesetzt sind.
 
Die [[REFLEX]] bzw.  [[GEVAS-Professional]] bringen bei der Neuinstallation eine Datenbank mit, in den eigentlich alle notwendigen Indizes gesetzt sind.
  
 +
=== 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 [[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.
 +
* Benutzen Sie den Grafikkarten-Treiber des Herstellers! Manchmal sucht Windows bei der Installation einen Microsoft-Treiber aus, der die Grafikkarte u.U. nicht optimal ansteuert.
  
=== Client, Rechner ===
+
 
 +
=== Terminal-Server, Citrix und Co. ===
 +
 
 +
Wenn Sie das Programm über einen Terminal-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 Flache!

Version vom 22. Februar 2013, 23:14 Uhr

1 Allgemeines

Dieser Artikel ist noch in Bearbeitung

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 2008 R2 Express" verwenden, beachten Sie die Einschränkungen des "MS SQL Server 2008 R2 Express":
    • Es wird nur ein Prozessor bzw. ein Prozessorkern verwendet: Das ist nicht so schlimm, weil die CPU eines SQL-Servers meist "gelangweilt" ist.
    • Die Express-Edition nutzt maximal 1 GB Arbeitsspeicher: Das ist schon eine wesentliche Einschränkung! SQL-Server "leben" von RAM-Speicher. Wenn Sie nicht genug davon haben, können Sie keine internen Hashtabellen aufbauen, in denen sie sich immer wiederkehrende Abfragen merken.
    • Eine Datenbank darf maximal 10 GB groß sein (in 2008 R1 nur 4 GB): Die wenigsten Kunden werden dieses Limit erreichen.
  • Nutzen Sie neuere Hardware, die z.B. SATA benutzt. 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.

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.
  • Benutzen Sie den Grafikkarten-Treiber des Herstellers! Manchmal sucht Windows bei der Installation einen Microsoft-Treiber aus, der die Grafikkarte u.U. nicht optimal ansteuert.


2.3 Terminal-Server, Citrix und Co.

Wenn Sie das Programm über einen Terminal-Server benutzen:

  • Schalten Sie im Benutzerprofil den Farbverlauf aus. Das Übertragen von Farbverläufen erfordert viel, viel mehr Daten als das Übertragen einer einfarbigen Flache!