Configure a transaction quota rule

Transaction quota rules allow you to define a quota policy for different types of transactions.

Before you begin

Role required: admin

About this task

Transaction quota rules allow you to specify the following conditions.
  • The conditions under which the policy applies.
  • The order in which transaction quotas apply.
  • The maximum duration of a transaction before the quota manager cancels it.
Warning: Setting transaction quotas too low can severely impact your users and prevent normal instance operations. Test your transaction quotas rigorously before implementing them in production.

Procedure

  1. If necessary, activate the Transaction Quotas plugin.
  2. Navigate to System Definition > Quota Rules.
  3. Click New.
  4. Complete the form.
    Table 1. Transaction quota rule fields
    Field Description
    Name A unique name to identify the rule.
    Active A check box that determines if this rule is active (selected).
    Maximum Duration The number of seconds a transaction has to complete before the quota cancels the transaction.
    Maximum Business Rules The number of business rules executions allowed.
    Maximum Database Time The total number of seconds for all SQL requests.
    Maximum SQL Statement Time The number of seconds a SQL statement can run.
    Maximum Outbound Requests The number of outbound HTTPs requests allowed.
    Order A number that represents the priority of the quota transaction in relation to other quotas. The transaction quota with the lowest order value and matching conditions determines the quota policy that is applied.
    Maximum Events The number of sysevent inserts allowed.
    Maximum Jobs The number of sys_trigger inserts allowed.
    Maximum SQL Queries The number of SQL queries allowed.
    Maximum Outbound Request Duration The number of seconds for an outbound HTTP request.
    Description A description of the transaction quota rule.
  5. Set a condition to specify when the transaction quota should take effect.
    The transaction quota rule condition builder displays conditions that are only applicable to transactions as listed in the following table.
    Field Description
    URL The URL of the page.
    Thread Name The name of the execution thread that is running the transaction. Foreground threads have names like http-bio-8080-exec-1. Background threads can have various names, and are useful where the URL is not sufficiently descriptive.
    Foreground Whether the transaction was completed in the foreground or background:
    • True: a foreground transaction.
    • False: a background transaction.
    Type The type of transaction:
    • List: Any list transaction, such as incident_list.do.
    • Form: All forms, UI pages, CMS pages, and so on.
    • XMLHttp: Transactions that run through GlideAjax, where the URL is xmlhttp.do.
    • Report: The page sys_report_template.do.
    • SOAP: SOAP transactions.
    • Export: When a list is exported in a format such as XML or Excel.
    • Scheduler: When a scheduled job is performed.
    • Text Search: The text search transaction or any of its related operations.
    • Other: Any type that does not meet the qualities of another type.
    Note: Match the transaction quota Type to the transaction type listed in the Quota Manager log entry for the transaction.
    User The user performing the transaction.
    Homepage The homepage that is running. This condition is populated only if the URL is home.do.
    Homepage Widget The homepage widget that is rendered in the transaction. When a homepage is rendered initially, each homepage widget is rendered in parallel.
    Attributes Miscellaneous attributes that are related to the transaction.
  6. Click Submit.