This article provides common solutions if you notice any of the following symptoms:

  • Slow transaction response times.
  • General slow performance throughout the instance.
  • Semaphores appear to be locked or have long running times.
  • localhost logs display a slow business rule message.


  • Scripts are stuck in an infinite loop.
  • Queries returned a large result set. 
  • A script created an inefficient query by using LIKE instead of = in the Where clause or is running full table scans on large tables.
  • There are global business rules that do not apply to every transaction.
  • Nested queries exist in MySQL server. Many nested queries are capable of bringing your MySQL database to a halt under certain data conditions.


 To verify that business rules are efficient:

  1. Log in to your instance and navigate to System Diagnostics > Debug Business Rule to turn on business rule debugging.

    System Diagnostics navigation menu that includes the option to select Debug Business Rule.

  2. Load the form or run the transaction in question.
  3. Analyze the debugging output for long transaction times.

    Debug output screen displaying long transaction times.

  4. Check the system logs to search the output while loading the form or transaction in question. See Use the log file browser for more information.

To resolve a business rule issue:

  1. Navigate to System Definition > Business Rules and open the business rule record in question
  2. Clear the Active check box to disable the business rule
  3. Click the Update button to save the record
  4. The next step in the resolution process depends on the part of the business rule that is causing the issue. The following table lists the common issues found when working with business rules and how to resolve them.
    1. Global business rules may not need to be global
      • Set the business rule to run on a specific table and specify a condition(s). 
    2. JavaScript errors 
      • Function calls are generating errors
        1. Verify the function exists.
        2. Verify the function is spelled correctly.
        3. Search for any parameter requirements.
      • Variables are generating errors 
        1. Verify the variables are spelled correctly.
        2. Review the data type of the variable(s) in question.
        3. Review the value of the variable(s) in question.
        4. Verify the value has been initialized.

    3. The system is generating a large result set
      • Verify that the GlideRecord query filters out all unnecessary results. 

If the issue continues to exist after trying the steps in this article:

  1. Clearly identify the issue or question.
  2. Visit the ServiceNow product documentation.
  3. Search the ServiceNow Community.
  4. Post a question on the ServiceNow Community forums. New users must create an account on the ServiceNow Community in order to post.
  5. Open an incident via email or the online Technical Support system.
  6. Contact the Technical Support team.

Additional Information

For more information on related topics, review the following:

Article Information

Last Updated:2020-06-22 02:48:09