Transaktionskontingente
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.
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
- Ruft eine Liste der aktiven Transaktionen ab, ähnlich der Liste unter .
- 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.
- Bricht die Transaktion ab, wenn sie länger als das angegebene maximale Kontingent ausgeführt wurde.
- Protokolliert die laufenden Transaktionen.
- 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.
Cancelling transaction /home.do - Default-thread-11.0 (maximum execution time exceeded): Thread Default-thread-11.0 (Default-thread-11.0, F530DD111B11111111FC031767DA158E), after 30000ms.