Performance enhancements for Indicator nightly job
Summarize
Summary of Performance enhancements for Indicator nightly job
The Indicator nightly job in ServiceNow's Governance, Risk, and Compliance (GRC) Zurich release has been optimized to support parallel processing and improve performance when executing a large number of indicators. This enhancement introduces new custom queues and a refined processing architecture to handle indicator data more efficiently and reduce overall execution time.
Show less
Key Features
- New Custom Queues: Two additional queues—Indicator Data Queue and Supporting Data Queue—have been added to segregate processing of indicator execution and supporting data collection.
- Three-Step Processing Architecture:
- Step 1: Indicators requiring processing are queued in the Batch Indicator Data Queue; the Batch Indicator Data Processor runs indicators, sets statuses, and creates results or tasks.
- Step 2: Indicator Supporting Data Processor updates related controls, risks, and issues based on configuration, then pushes indicators to the Indicator Statistics Table for supporting data collection.
- Step 3: Supporting Data Collection Job collects supporting data from the statistics table using both default and custom queues in a round-robin fashion to optimize batch processing.
- Optimized Business Rule Execution: Indicator result business rules are not run during the job but are executed when completing indicator tasks, improving job performance.
- Data Model Enhancements:
- New Sample collection type field in the Indicator template allows selection between 'Count' (default) or 'Percentage' for supporting data collection.
- Due date duration (days) field for manual indicators sets task due dates, enabling automated reminder emails to task owners.
- A new JSON-type field in the indicator supporting data table enhances data management efficiency.
Key Outcomes
- The new architecture enables processing a significant number of indicators in less time, enhancing scalability for large GRC environments.
- Parallel processing through multiple queues ensures faster and more reliable indicator execution and supporting data updates.
- Improved data handling and task management with new fields support better tracking and notification capabilities.
To support parallel processing capabilities, two additional custom queues such as the Indicator Data Queue for processing indicators, and the Supporting Data Queue for handling events related to control, risk, and issue updates and to collect the supporting data, have been introduced.
Architecture for effective processing of indicators
The execution of indicators has been optimized by implementing a three-step process, utilizing two custom queues for efficient processing.
In the initial step, a set of indicators requiring processing is queued up in the Batch Indicator Data Queue. The Batch Indicator Data Processor then runs the indicators, sets the status, and creates the indicator results or tasks. The indicators are then moved to another custom queue for supporting data collection and updating dependent objects like controls, risks, and issues.
In the second step, the Indicator Supporting Data Processor picks up the indicator records from the Indicator Supporting Data Queue and updates the control or risk status, also creating or updating issues based on the configuration. Then the indicator is pushed to the Indicator Statistics Table for support data collection.
Finally, the Supporting Data Collection Job picks up the indicator records from the Supporting Data Statistics Table, starts collecting supporting data for the indicators, and leverages both the default queue and additional custom queues for efficient processing.
This architecture supports execution of a large number of indicators in significant time. The Supporting Data Collection Job introduced to collect supporting data improves the data handling process considerably. Moreover, the time taken to execute the data is considerably less.
Data model changes
The Sample collection type field added in the Indicator template form, has options either Count or Percentage. The default value is Count. If you select Percentage, you can provide the percentage value to collect the supporting data.
The Due date duration (days) field is added for manual indicator in the Indicator template and Indicator forms to capture the indicator task due date. Based on this due date, reminder emails are sent to the indicator task owners.
A new field introduced in the indicator supporting data table, which is of type JSON, helps in efficient data management.
- For more information related to the table changes, see Tables installed with Governance, Risk, and Compliance.
- For more information on the additional system properties, see Governance, Risk, and Compliance properties.
- For Indicator form changes, see Create a GRC indicator.
- For the Indicator template form changes in Compliance Workspace, see Create a GRC indicator template using the Compliance Workspace.
- For the Indicator template form changes in the classic UI, see Create a GRC indicator template.