Kapitel 6. 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

Zusammenfassung

Presented below is a list of performance enhancing techniques for your OTRS installation, including configuration, coding, memory use, and more.

OTRS

There are several options for improving OTRS performance.

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:

  • Configure Kernel::System::Ticket::ArticleStorageDB (default) to store attachments, etc., in the database. Note: Don't use it with large set ups.

    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!

    Con: Your web server user should be the 'otrs' user. Also, if you have multiple front-end servers, you should make sure the filesystem is shared between the servers. Place it on an NFS share or preferably a SAN or similar solution.

Note: you can switch from one back-end to the other on the fly. You can switch the backend in the SysConfig, and then run the command line utility otrs.ArticleStorageSwitch.pl to put the articles from the database onto the filesystem or the other way around. You can use the -s and -d options to specify the source and destination back-ends. Please note that the entire process can take considerable time to run, depending on the number of articles you have and the available CPU power and/or network capacity.

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.

Tickets that match certain criteria can be marked as "archived" These tickets are not accessed if you do a regular ticket search or run a Generic Agent job. The system itself does not have to deal with a huge amount of tickets any longer as only the "latest" tickets are taken into consideration when using OTRS. This can result in a huge performance gain on large systems.

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.