- 30 Mar 2021
- 4 Minutes to read
- Print
- DarkLight
Troubleshooting Designer Elements
- Updated on 30 Mar 2021
- 4 Minutes to read
- Print
- DarkLight
Overview
The following article discusses the potential causes of performance issues with slow rendering on the end-user side.
Issues may include problems with the server, network connection, Database, Decisions logic, and more. Some issues may be isolated to the build on the back-end of Decisions, but a lot of issues can have outside factors. This article also offers some troubleshooting steps to help isolate the issue.
Causes For Performance Issues
Potential causes in Decisions
Data Flows | Too many Flows running on startup. |
External Content | Too much external content being loaded in, such as Data populating a large list, redirect loops, and slow External Systems. |
Visibility Rules | Conflicting Visibility Rules in a Form interrupts rendering. |
Development Issues | Errors or mistakes in development could cause issues like unclosed loops. |
Older Decisions Versions | Potential bugs in legacy versions of Decisions. |
Running Processes | Other running processes like Scheduled Jobs. |
Improper Design | Improper Form/Flow design can be an incorrect use of Data Repeaters or incorrect logic in the Flow. |
Static Content | Too much Static content. |
Nested Containers | Containers nested too deeply. |
Potential outside causes
Network Issues | Network issues at the server site. |
Browser Issues | Out of memory, browser extension issues, etc. |
Skype | If Skype click-to-call is installed ( causes browser issues). |
Cluster Issues | Problems with a Cluster or a Node within the Cluster. |
DDoS Attack | Distributed denial-of-service attacks (Network issues). |
IIS Issues | Problems occurring with Internet Information Services. |
Potential Database causes
Storage | Running out of space on the Database. |
Logs | Database Logs are full. |
Long Queries | Long-running or complex queries can cause slowness trying to execute. |
Bottlenecks | Too many interactions occurring with the Database at once. |
Version | Wrong version of Database software. |
Network Database | Issues that could occur with a Database or could be from network issues of the Database. |
Troubleshooting Performance Issues
It's important to note that the source of an issue may derive from a wide range of sources.
When an issue occurs such as slow performance on a build that was assumed to be logical, isolating the issue becomes pivotal to deal with such a wide range of potential causes. The best practice offered by Decisions professionals is to cut any issue in half. Look for something in the entire configuration that can be changed to potentially eliminate an entire set of related issues.
The Basics
Step 1: Decisions Logic
The best first practice for troubleshooting performance is to open a Decisions Object with similar functionality to see if the issue occurs elsewhere. With this step, the Decisions Objects in question can be duplicated for testing purposes. If a Flow contains a Form in question, make a copy of the Flow, and change some configurations around in the Flow Designer to see if the performance issues resolved. Do the same with the Form if the Flow does not seem to be the problem. Check for proper configurations on complex Form Controls and make sure complex Form Controls aren't stacked in different Form tabs. Make sure Flow logic executes as expected in the Debugging window.
Step 2: Browser
Try running the Project from the Decisions environment in a private browser window, to eliminate possible browser issues causing slow Form performance. Alternatively, try different browsers if multiple are installed.
Step 3: Machine
Try running the Project outside of the built-in firewall or on a different machine. This will help isolate whether or not the issue is between the environment or the server, to determine if it is the platform or an external issue. There are a lot of issues that could occur between the Client environment and the server such as latency issues, DNS records, encryption, and more. Eliminating the machine as a potential cause for the issue is half of the equation.
Step 4: Environments
Take a look at some quick snapshot observations of the different environments that help run Decisions. These environments would include the Database itself, various Service Managers, Client machines, and server performance. Evaluate each of these components in their respective environments to determine if any issues stand out that could be causing problems on the front-end Form execution.
Advanced Troubleshooting
Decisions Profiler
The Decisions Profiler is a built-in Decisions Tool that is located at System > Administration > System Tools > Profiler. This interface offers several different Reports and Dashboards that provide details on performance within the environment, including information on Database calls.
The Profile View shows the type of occurrence that took place, the PROFILENAME which acts as a description, the COUNT of times this executed, how long it took WITHOUT CHILDREN, how long it took WITH CHILDREN, the OBJECTS CREATED, and the OBJECTS CREATED W/CHILDREN.
For more information on troubleshooting via the Profiler, see: Troubleshooting Using the Profile
Browser Developer Tools
Using the Developer Tools (if available) in the web browser where Decisions are running is an excellent source for troubleshooting issues. This window is a suite of helpful tools to help isolate issues with performance. Developer tools offer different tabbed sections that will help with finding where errors are coming from.
If further support is needed with troubleshooting errors in the Decisions environment, please contact support@decisions.com