Kapitel 24. Leistungsverbesserung

Inhaltsverzeichnis

OTRS
TicketIndexModule
TicketStorageModule
Tickets archivieren
Datenbank
MySQL
PostgreSQL
Webserver
Persistente Datenbankverbindungen
Vorgeladene Module - startup.pl
Perl Module bei Änderung neu laden
Die richtige Strategie wählen
mod_gzip/mod_deflate

Hier finden Sie eine Liste verschiedener Techniken der Leistungssteigerung Ihrer OTRS-Installation, einschließlich Konfiguration, Programmierung, Speichernutzung und mehr.

OTRS

Es gibt verschiedene Ansätze zur Leistungssteigerung von OTRS.

TicketIndexModule

Zur Verfügung stehen zwei Backend-Module für den Ticket Index:

  • Kernel::System::Ticket::IndexAccelerator::RuntimeDB (Standard), generiere jede Queue-Ansicht dynamisch aus der Ticket Tabelle. Sie werden keine Probleme mit der Leistung bekommen bis zu etwa 60.000 Tickets (oder 6000 offenen) in Ihrem System.

  • Kernel::System::Ticket::IndexAccelerator::StaticDB, das leistungsfähigste Modul. Es sollte ab 80.000 Tickets oder mehr als 6000 offenen eingesetzt werden. Benutzt eine extra ticket_index Tabelle, arbeitet wie eine Ansicht (View). Führen Sie bin/otrs.RebuildTicketIndex.pl zum erstmaligen Aufbau des Index aus.

Sie können den IndexAccelerator per SysConfig einstellen.

TicketStorageModule

Es stehen zwei Module für das Speichern der Tickets und Artikel bereit:

  • Kernel::System::Ticket::ArticleStorageDB (Standard), speichert Anhänge u. A. in der Datenbank. Merke: Benutzen Sie diese Option nicht für größere Systeme.

    Pro: Ist der Benutzer, unter dem der Webserver läuft, nicht der Benutzer 'otrs', können Sie mit diesem Modul Dateiberechtigungsprobleme vermeiden.

    Contra: Es ist nicht wirklich ratsa,, Anhänge in Ihrer Datenbank zu speichern. Achten Sie darauf, dass Ihre Datenbank das kann. Für MySQL setzen Sie in dessen Konfiguration bspw. "set-variable = max_allowed_packet=8M", um 8 MB große Objekte zu speichern (Standard ist 2M).

  • Kernel::System::Ticket::ArticleStorageFS, speichert Anhänge u. A. im lokalen Filesystem ab. Merke: Benutzen Sie dies für große Installationen.

    Pro: Schneller!

    Contra: Der Benutzer, unter dem der Webserver läuft, sollte der Benutzer 'otrs' sein (Dateisystemberechtigungen!). Wenn Sie mehrere OTRS-Frontendserver haben, müssen Sie sicherstellen, dass das Dateisystem gemeinsam genutzt wird. Sie können es z. B. auf ein NFS-Share oder vorzugsweise ein SAN oder eine vergleichbare Lösung legen.

Merke: Sie können während des Betriebs von einem Backend auf das andere wechseln. Stellen Sie dazu das Backend in der SysConfig um, und führen Sie otrs.ArticleStorageSwitch.pl aus, um die Artikel aus der Datenbank ins Dateisystem zu überführen oder umgekehrt. Sie können die -s und -d Option verwenden, um das Quell- und Zielbackend anzugeben. Der Prozess kann eine ganze Weile dauern, je nach Menge der Artikel sowie System- und Netzwerkleistung.

shell> bin/otrs.ArticleStorageSwitch.pl -s ArticleStorageDB -d ArticleStorageFS

Skript: Wechsel des TicketStorage-Backends von Datenbank zu Dateisystem.

Tickets archivieren

Da OTRS als revisionssicheres System betrieben werden kann, ist das Löschen von geschlossenen Tickets möglicherweise nicht empfehlenswert. Daher haben wir eine Funktion implementiert, mit der Sie Tickets archivieren können.

Kokret ist darunter zu verstehen, dass Tickets, die bestimmte Kriterien erfüllen, als "archiviert" markiert werden. Diese Tickets werden dann bei regulären Suchabfragen oder von GenericAgent-Jobs nicht mehr erfasst. Somit muss sich das System mit einer großen Ticketmenge nicht mehr befassen, weil dann nur noch die "aktuellsten" Tickets betrachtet werden. Das kann auf großen Systemen eine signifikante Performanceverbesserung bewirken.

Befolgen Sie folgende Schritte, um die Archivierungsfunktion zu nutzen:

  1. Archivsystem in der SysConfig aktivieren

    Wählen Sie in der SysConfig die Gruppe Ticket aus. In Core::Ticket finden Sie die Option Ticket::ArchiveSystem, die standardmäßig auf "Nein" steht. Ändern Sie diese auf "Ja" und speichern Sie die Änderung ab.

  2. Anlegen eines GenericAgent-Jobs

    Wählen Sie im Administrationsbereich den "GenericAgent" aus und legen Sie dort einen neuen Job an.

    1. Job-Einstellungen

      Geben Sie dem Job einen geeigneten Namen und angemessene Optionen.

    2. Ticket-Filter

      Der Ticketfilter ist eine Ticketsuche, die Tickets nach bestimmten Kriterien auswählt. Es könnte empfehlenswert sein, nur Tickets zu archivieren, die seit einigen Monaten im Status "geschlossen" sind.

    3. Ticket-Aktion

      Im Abschnitt "Ticket-Aktion" werden Sie eine Aktion "Ausgewählte Tickets archivieren" finden. Wählen Sie dort "Tickets archivieren" aus.

    4. Job speichern

      Am Ende der Seite finden Sie einen Knopf zum Speichern des Jobs.

    5. Betroffene Tickets

      Das System wird dann alle Tickets anzeigen, die beim Ausführen des GenericAgent-Jobs archiviert werden.

  3. Ticketsuche

    Wenn Sie nun nach Tickets suchen, werden standardmäßig nur Tickets gefunden, die nicht archiviert sind. Wenn Sie auch in archivierten Tickets suchen wollen, fügen Sie "Archivsuche" zu Ihren Suchkriterien hinzu.