Transaktionskontingente

  • Freigeben Version: Washingtondc
  • Aktualisiert 1. Februar 2024
  • 1 Minute Lesedauer
  • Mit Transaktionskontingenten können Sie eine Kontingentrichtlinie für verschiedene Arten von Transaktionen definieren. Ein Transaktionskontingent storniert alle Transaktionen, die gegen die Richtlinie verstoßen, und benachrichtigt den Benutzer über den Abbruch.

    Das Plugin „Transaction Quotas“ ist standardmäßig in allen neuen und aktualisierten Instanzen aktiv.
    Abbildung : 1. Transaktion abgebrochen
    Transaktion abgebrochen
    Das Transaktionskontingent schreibt auch die Abbruchnachricht als Warnung in die Protokolldatei.
    Abbildung : 2. Protokoll „Transaktion abgebrochen“
    Protokoll einer abgebrochenen Transaktion

    Normalerweise legen Administratoren Transaktionskontingente fest, um zu verhindern, dass Abfragen und Skripts mit schlechter Leistung Systemressourcen verbrauchen. Dadurch wird sichergestellt, dass keine Transaktion genügend Ressourcen verbraucht, um die Ausführung anderer Transaktionen zu verhindern. Administratoren können auch Abbruchprotokollnachrichten anzeigen, um Transaktionen zu identifizieren, die möglicherweise übermäßige Ressourcen verbrauchen.

    Funktionsweise von Transaktionskontingenten

    Transaktionen verwenden den Quota Manager, einen Hintergrund-Thread, der Transaktionen abbricht. Der Kontingentmanager führt die folgenden Aktionen aus.
    1. Ruft eine Liste der aktiven Transaktionen ab, ähnlich der Liste unter Benutzeradministration > Aktive Transaktionen.
    2. Durchläuft jede Transaktion und überprüft alle Kontingentregeln mit Bedingungen, die der Transaktion entsprechen. Das erste Vorkommen, das eine der Kontingentbeschränkungen überschreitet, löst einen Transaktionsabbruch aus. Wenn sich eine Transaktion ändert oder eine neue Mengenregel vorhanden ist, wertet der Mengenmanager die Transaktion neu aus.
      Hinweis:
      Das Feld Reihenfolge in einer Kontingentregel wirkt sich auf die Reihenfolge aus, in der die Kontingentregeln überprüft werden. Der Kontingentmanager überprüft zuerst die Regeln niedrigerer Reihenfolge (z. B. Reihenfolge 80 vor Reihenfolge 90), prüft aber abschließend alle Regeln. Dies kann je nach den Bedingungen der beteiligten Regeln geringfügige Auswirkungen auf die Leistung haben.
    3. Bricht die Transaktion ab, wenn sie länger als das angegebene maximale Kontingent ausgeführt wurde.
    4. Protokolliert die laufenden Transaktionen.
    5. Ruhezustand bis zum nächsten Takt, der von der glide.quota.manager.heartbeat Systemeigenschaftgesteuert wird.

    Beispiele für Transaktionsabbruch

    Transaktionen können aus mehr als einem Grund storniert werden. Suchen Sie nach den folgenden Indikatoren.

    • Maximale Ausführungszeit überschritten: Diese Nachricht wird angezeigt, wenn der Thread „glide.quota.manager“ die Transaktion abbricht.
    • von anderer Transaktion abgebrochen: Diese Nachricht wird angezeigt, wenn die Transaktion vom Sitzungs-Thread abgebrochen wurde, der sie ursprünglich ausgegeben hat, und nicht vom Thread „glide.quota.manager“.
    • Durch Benutzeranforderung abgebrochen: Diese Nachricht wird angezeigt, wenn der Benutzer auf die rote X-Schaltfläche geklickt hat, um die laufende Transaktion abzubrechen.
    Wenn Sie nach Transaktionen suchen, die von glide.quota.manager abgebrochen wurden, suchen Sie nach der Kombination [Nachricht] [Enthält] [maximale Ausführungszeit überschritten]. Beispiel:
    Cancelling transaction /home.do - Default-thread-11.0 (maximum execution time exceeded): Thread Default-thread-11.0 (Default-thread-11.0, F530DD111B11111111FC031767DA158E), after 30000ms
    .