Optimizing a Decisions Install for Performance
  • 21 Aug 2024
  • 3 Minutes to read
  • Dark
    Light

Optimizing a Decisions Install for Performance

  • Dark
    Light

Article summary

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

SettingDescriptionLevel
Statistics TrackingClient statisticsSystem
ProfilerThe 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 TrackingRecords of all designer elements being run.System
LoggingTracks errors and occur in the platform and writes them to files.System
Step Sampling TrackingThe amount of data that is recorded as Flows run.Designer
Default Flow Behavior TrackingThe logic that determines how a Flow operates.Designer
Recursion CheckingThe default limit on recursions is 20,000.Designer
TelemetrySends 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.

Summary Settings that are toggled on by default

 


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.







Was this article helpful?