Quotas de transactions

  • Rversion finale: Washingtondc
  • Mis à jour 1 févr. 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 en violation de la politique et informe l’utilisateur de l’annulation.

    Le module d’extension Transaction Quotas 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 les 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 afficher 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 quotas, qui est un thread d’arrière-plan qui annule les transactions. Le gestionnaire de quotas effectue les actions suivantes.
    1. Obtient une liste des transactions actives, semblable à la liste sous Administration utilisateurs > Transactions actives.
    2. Cycle chaque transaction et vérifie toutes les règles de quota avec des conditions correspondant à 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 quotas 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 incidences marginales sur les performances, selon les conditions des règles concernées.
    3. Annule la transaction si son exécution a dépassé le quota maximum spécifié.
    4. Consigne les transactions en cours d’exécution.
    5. Reste en veille jusqu’au prochain intervalle de mise à jour, qui est contrôlé par la glide.quota.manager.heartbeat propriété système.

    Exemples d’annulation de transaction

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

    • Temps d’exécution maximum dépassé : ce message apparaît 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 maximal 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
    .