- 21 Aug 2024
- 3 Minutes to read
- Print
- DarkLight
Optimizing a Decisions Install for Performance
- Updated on 21 Aug 2024
- 3 Minutes to read
- Print
- DarkLight
Overview
Decisions tracks and audits back end processing and performance of its components automatically, but when high service level performance is needed, turning its auditing capabilities off can help. This article will walk through all the tracking systems and how to disable them to optimize performance.
The best way to get performance is to optimize the logic of the Flows or the database behind it (through indexing, for example). However if that is not enough the following list of settings can be turned off.
Keep in mind that the platform's architecture has an impact and some levels of performance may only be possible with more powerful servers.
Platform Data Tracking
Setting | Description | Level |
---|---|---|
Statistics Tracking | Client statistics | System |
Profiler | The Profiler writes out and captures data on all step executions and the count of Executions/Objects and the Time they took to complete the action. | System |
Activity Tracking | Records of all designer elements being run. | System |
Logging | Tracks errors and occur in the platform and writes them to files. | System |
Step Sampling Tracking | The amount of data that is recorded as Flows run. | Designer |
Default Flow Behavior Tracking | The logic that determines how a Flow operates. | Designer |
Recursion Checking | The default limit on recursions is 20,000. | Designer |
Telemetry | Sends data to Decisions about platform usage. A system restart is not needed after changes to this setting. | System |
Statistics Tracking
Client Statistics is a powerful way to track performance and activity within an environment. However there are performance impacts to using it. They can be deactivated by going to System > Settings and picking Client Statistics. Client Statistics has two sections - SETTINGS and SUMMARY SETTINGS. By default all of the SETTINGS are disabled, but SUMMARY SETTINGS has five options active. Uncheck anything under SETTINGS and SUMMARY SETTINGS to completely disable Statistics Tracking.
Profiler
The Profiler is extremely useful in diagnosing issues and disabling it is not recommended. In fact it is one of the primary tools in determining performance. If process are taking longer than the Profiler is reporting it makes sense to ignore and disable the Profiler. The primary reason the Profiler will return unreliable data is that it cannot provide information on how long something is taking at the System level.
The Profiler is available within Projects at [Project Name] > Manage > Health > Profiler or at the System level at Administration > System Tools > Profiler. Both have a STOP PROFILING action. This will clear the current data, but does not prevent the Profiler from running.
In Settings.xml there is an auto start option that can disabled to prevent it from activating on start up. Look for <AutoStartProfiler> and set to False. After making the change to Settings.xml, a service restart is needed for the change to take affect.
Activity Tracking
To disable, go to System > Settings > Logging Settings then pick File System. Uncheck the "Log Usage Data" box. Decisions tracks all Flows every 30 seconds and this data is used to fill the Event View reports.
Step Sampling Tracking
This is a Flow level setting that populates the Flow step table. By default this is set to Sampling, but being set to Never is more performant. The Sampling setting creates a database write for random Flow executions, so disabling it will allow for faster processing.
Default Flow Behavior Tracking
This setting is found within a Flow under the Properties panel. Unless specified at Flow creation the default Behavior Type is Flow. Turning this to Sync can be help with performance as it prevents unneeded data from being stored in memory.
Recursion Checking
Recursion limits provide a measure of protection that throws an error when too many executions happen within a Flow. The higher the Recursion limit is set the more negative impact it has on performance. Reducing the number of allowable Recursions can increase performance, but it may also cause issues with Flow logic. Recursion is set at the Flow level through the Properties panel under SETTINGS.
The Recursion Policy option is set by default to Use Top Flow Settings. This means that all Sub Flows within a Parent Flow will have the same recursion limit.
Allow Flow Start Recursion is an additional check. By default this is set to disabled, which provides better performance.
Telemetry
Telemetry settings send data to Decisions on how the platform is being used by customers. The collected data helps us determine how best to develop the platform. There is a performance impact however. To disable Telemetry go to Systems > Settings and click Telemetry. Click the Capture Telemetry Data box until it is blank.
Logging
This is not recommended, but disabling logging can be useful for extremely high demand situations. This will disable custom logging steps as well. Logging should only be turned off as a last resort. Logs are where issues that occur within Decisions are written and are vital to our Support team.
To disable, go to System > Settings > Logging Settings and pick File System. Then uncheck the "Is Enabled" option.