Performance-Leitfaden

Aus Planfix

Der Performance-Leitfaden beschreibt Best Practices zur Konfiguration von Auswahlregeln im System.

Bei großen Konten hängt die Datenabrufgeschwindigkeit direkt davon ab, wie effizient Sie die Filterbedingungen konfigurieren. Nachfolgend die wichtigsten Prinzipien und Empfehlungen zur Erstellung schneller Auswahlregeln für Terminplaner, Filter, Berichte und Daten-Tags.

Priorität von Systemfeldern

Die Systemfelder "Template", "Project" und "Object" (und nur diese) werden schneller verarbeitet, weil das System speziell für sie optimiert ist.

  • Einschränken der Auswahl. Fügen Sie dem Filter immer ein Systemfeld hinzu, das die Anzahl der zu prüfenden Objekte deutlich reduziert. Wenn Sie z. B. Aufgaben nach einem anpassbaren Feld "X" suchen, das nur in der Vorlage "Z" vorhanden ist, nehmen Sie eine Bedingung für die Vorlage "Z" auf — das beschleunigt die Abfrage erheblich.
  • Redundanz vermeiden. Wenn Sie bereits eine Bedingung für die Vorlage angegeben haben, ist das Hinzufügen einer Bedingung für den Prozess (in dem diese Vorlage läuft) sinnlos — es verbessert die Geschwindigkeit nicht.

Logische Operatoren: AND vs OR

Die Bedingungslogik ist einer der kritischsten Performance-Faktoren.

  • Verwenden Sie "AND". Mit "AND" verknüpfte Bedingungen laufen schnell, besonders wenn die Kette Filter auf Systemfeldern enthält.
  • "OR" minimieren. Der Einsatz von "OR" (insbesondere auf oberster Ebene eines Filters, ohne gemeinsame einschränkende Bedingungen) kann die Abrufzeit um das Zehn- oder Hundertfache verlangsamen. Gestalten Sie die Logik so, dass OR-Bedingungen bei großen Datenmengen möglichst vermieden werden.

Feldspezifische Überlegungen

Nicht alle Prüfungen sind für die Datenbank gleichermaßen „leicht“.

  • Konkrete Werte vs. "hat Daten". Die Prüfung auf einen konkreten Wert (z. B. "Feld X = Cassiopeia") ist schneller als die Prüfung auf Vorhandensein von Daten ("Feld X: enthält Daten").
  • Feldtypen. Mehrwertige Felder (Mehrfachauswahllisten) sind langsamer zu prüfen als einfache Felder, die einen einzelnen Wert speichern.
  • "Aufwärmen" neuer Felder. In großen Konten sind Abfragen, die ein neues benutzerdefiniertes Feld verwenden, beim ersten Durchlauf stets langsam. Das System benötigt Zeit, um Bedingungen zu optimieren, die regelmäßig verwendet werden; daher werden Abfragen auf solche Felder typischerweise nach einiger Zeit schneller.

Berechtigungen

Komplexe Zugriffsprüfungen zur Laufzeit sind eine der ressourcenintensivsten Operationen. Daher laufen Abfragen für Systemadministratoren schneller als für Benutzer: Administratoren werden nicht auf ihre Zugriffsrechte geprüft.

Mit "Abfrage" ist hier jede Aktion gemeint — vom Öffnen eines Aufgabenfilters über das Ausführen eines Berichts bis hin zum Rendern des Terminplaners usw.

Sortierung und Gruppierung bei großen Datenmengen

Sortierung und Gruppierung verursachen zusätzlich zur ohnehin stattfindenden Abfrage weitere Last.

  • Schwere Sortierungen vermeiden. Die Sortierung nach benutzerdefinierten Feldern und Datumsangaben bei Ergebnislisten mit tausenden Aufgaben verlangsamt die Anzeige stark. Verwenden Sie, wenn möglich, Sortierungen nach Systemfeldern oder verzichten Sie ganz auf Sortierung.
  • Gruppieren nur wenn nötig. Wenn Sie Gruppierung vermeiden können — tun Sie es; das beschleunigt das Laden.

Gehe zu