Quotas de transactions

  • Rversion finale: Xanadu
  • Mis à jour 1 août 2024
  • 2 minutes de lecture
  • Les quotas de transaction vous permettent de définir une politique de quota pour différents types de transactions. Un quota de transaction annule toute transaction qui enfreint la politique et informe l’utilisateur de l’annulation.

    Le module d’extension Quotas de transaction est actif par défaut sur toutes les instances nouvelles et mises à niveau.
    Figure 1. Transaction annulée
    Transaction annulée
    Le quota de transaction écrit également le message d’annulation dans le fichier journal en guise d’avertissement.
    Figure 2. Journal des transactions annulées
    Journal d’une transaction annulée

    En règle générale, les administrateurs définissent des quotas de transaction pour empêcher les requêtes et les scripts peu performants de consommer des ressources système. Cela garantit qu’aucune transaction ne consomme suffisamment de ressources pour empêcher l’exécution d’autres transactions. Les administrateurs peuvent également consulter les messages du journal d’annulation pour identifier les transactions susceptibles de consommer des ressources excessives.

    Fonctionnement des quotas de transaction

    Les transactions utilisent le Gestionnaire de quota, qui est un thread d’arrière-plan qui annule les transactions. Le gestionnaire de quota effectue les actions suivantes.
    1. Obtient une liste de transactions actives, similaire à celle sous Administration utilisateurs > Transactions actives.
    2. Parcourt chaque transaction et vérifie toutes les règles de quota dont les conditions correspondent à la transaction. La première occurrence qui dépasse l’une des limites de quota déclenche l’annulation d’une transaction. Si une transaction change ou s’il existe une nouvelle règle de quota, le gestionnaire de quota réévalue la transaction.
      Remarque :
      Le champ Ordre d’une règle de quota affecte l’ordre dans lequel les règles de quota sont vérifiées. Le gestionnaire de quotas vérifie d’abord les règles d’ordre inférieur (par exemple, l’ordre 80 avant l’ordre 90), mais vérifie finalement toutes les règles. Cela peut avoir des répercussions marginales sur le rendement, selon les conditions des règles en cause.
    3. Annule la transaction si son exécution a dépassé le quota maximum spécifié.
    4. Consigne les transactions en cours.
    5. Veille jusqu’au prochain intervalle de mise à jour, qui est contrôlé par la glide.quota.manager.heartbeat propriété système.

    Exemples d’annulations de transactions

    Les transactions peuvent être annulées pour plusieurs raisons. Recherchez les indicateurs suivants.

    • Temps d’exécution maximum dépassé : Ce message s’affiche lorsque les threads glide.quota.manager annulent la transaction.
    • Annulé par une autre transaction : ce message s’affiche lorsque la transaction a été annulée par le thread de session qui l’a initialement émise, et non par le thread glide.quota.manager.
    • Annulé par la demande de l’utilisateur : ce message s’affiche lorsque l’utilisateur a cliqué sur le bouton X rouge pour annuler la transaction en cours.
    Si vous recherchez des transactions qui ont été annulées par glide.quota.manager, recherchez la combinaison [Message] [Contient] [temps d’exécution maximum dépassé ]. Par exemple :
    Cancelling transaction /home.do - Default-thread-11.0 (maximum execution time exceeded): Thread Default-thread-11.0 (Default-thread-11.0, F530DD111B11111111FC031767DA158E), after 30000ms
    .