Maintaining your Dynamics 365 system at peak performance depends on several factors.
The condition of your data. How many extensions & customizations are in the mix. Even poor alignment between business requirements and platform capabilities.
In this article, we’ll examine some general performance issues Dynamics 365 users should be aware of before implementation. We’ll also look at some of the solutions D365 users can use to get ahead of common problems before they cause serious damage.
What Are Some Common Performance Issues with Dynamics 365 ERP?
The main symptom behind most Dynamics 365 performance issues is slow speeds.
According to Velosio Practice Director Lorna Link, “slow speeds are a big problem for many users. Generally, this can be resolved by addressing bandwidth issues — but sometimes it’s a Microsoft tenant issue.”
She recommends that users first run a speed test and fix any issues detected with your connection or network. If that doesn’t work, you’ll need to communicate with Microsoft to resolve the problem.
That said, there are many reasons why D365 is moving slow, including:
- App configurations. Many common D365 performance issues link back to how your system was configured. For example, enabling too many alerts on a table will disable all-set based tasks associated with that table. As a result, the kernel needs to check each row to determine if it qualifies for an alert — a completely unnecessary activity that demands a large share of computing power better used elsewhere. Another example is running high-usage number sequences during peak hours.Users can avoid performance issues by scheduling them in advance. Enabling Database Logging – a tool that allows admins to identify users that entered data incorrectly – on high-volume tables or setting full data pulls as the default for reports & BYOD solutions can also slow things down. The point is, you’ll want to make sure that your system is set up so that it only runs processes and pulls data if necessary to perform a specific task. Anything beyond that is just a drag on the system.
- Hardware. One of the biggest benefits of Microsoft Dynamics 365 is that you no longer need to deal with physical servers and configurations — that’s Azure’s responsibility. That said, you are still responsible for maintaining your connection to Azure. A poor connection causes performance issues that impact the end-user experience and limit your ability to process high-volume transactions.Microsoft recommends using Azure ExpressRoute to connect to Azure. ExpressRoute can be used to establish private connections between your on-prem infrastructure and Azure data centers, resulting in lower latency, more bandwidth, and faster speeds.
- Applications & integrations. Application and integration-related performance issues are typically discovered during pre-go-live tests, but can be detected at any stage in the implementation. The challenge here is, certain issues need to be addressed with ISVs or with Microsoft directly.Data issues. If your system is overloaded with outdated, redundant, or just plain bad data, you’re going to run into performance issues. Proper implementation can nip many of the biggest data-related issues in the bud. Make sure you regularly clean up batch job histories and remove duplicate data to keep things running smoothly.
- Access issues, such as data not displaying in a report, likely have more to do with permissions and settings than system overload. Microsoft breaks down several reasons you might not see the data you requested, along with some troubleshooting tips here.
- Users and business processes. Finally, many D365 performance problems have more to do with how you’re using the system than the system itself. For example, relying on Wildcard searches, executing high-volume processes at the wrong time, or pulling too-large reports place unnecessary demands on the system. In this case, you can avoid performance issues by running regular audits of your settings/configurations and cleanup routines across all modules.
The other factor you’ll need to consider is whether your teams are using Dynamics 365 as efficiently as possible.
Unfortunately, this issue isn’t an easy fix. You’ll need to examine your training programs, look at individual processes, and how employees work through those processes to improve performance. From there, you’ll also want to look for opportunities to automate tasks/processes.
Dynamics 365 ERP Diagnostics & Testing Options
All Dynamics 365 subscriptions include several diagnostics and testing tools.
But, it’s worth noting that Business Central users may need to rely on a variety of extensions and apps (and manual configurations) to get the same performance insights and testing tools that come standard with the Enterprise plans.
Out-of-the-box, Business Central does include some performance management capabilities — Performance Counters (which monitor various BC server instances), Event Monitoring, SQL Server performance, etc.
But – adding the following solutions to your base account allows you to tap into richer insights and tools that can help you identify and fix performance problems before things get out of hand.
- Install the Performance Toolkit. The Performance Toolkit is an extension that provides BC subscribers with a framework for defining tests and scenarios, pre-defined testing environments, and a command line tool for simulating multi-user scenarios.This extension helps users define baseline performance standards, simulate user experiences, and compare your findings with the baseline. You might use it to capture performance data, identify & eliminate bottlenecks, make sure new code won’t introduce a regression, or test an app/process in a sandbox environment under demanding conditions. You can also use it to monitor for performance problems when rolling out a new process for installing a new extension or integration..
- Monitor and analyze telemetry data with Azure AppInsights. Dynamics 365 Business Central users can send telemetry data to Azure Application Insights. You’ll need an Azure subscription to get started but this service allows you to keep an eye on tenant health, user activities, and system operations as well as diagnose & fix problems that cause performance issues.Monitoring & analyzing telemetry data can help you identify and troubleshoot a variety of performance issues. Some of the more common examples include sign-in issues, slow loading reports, and slow UI. Telemetry is ideal for investigating problems after the fact – or analyzing patterns across multiple sessions.
- AL profiler. The AL Profiler is an AL Language extension that allows you to take a “snapshot” (or recording) of the code that was executed to create a performance profile. From there, you can analyze your findings in Visual Studio Code’s performance profiling editor to identify problems.Per Microsoft, the AL profiler is best for troubleshooting the performance of a scenario. Do note: it does require a developer to run the tool and the data collection process must happen live.
- Page inspector. The Page Inspector tool can be used to analyze the performance of a specific page. Simply navigate to the Extensions tab to view a list of installed extensions connected to the page in question to see how much time it took to launch/run each extension. Bottom line: this tool enables you to figure out the “why” behind slow loading pages – and the extensions dragging them down.
Enterprise users gain access to more built-in testing/diagnostics tools by way of Microsoft Lifecycle Services (LCS). LCS comes with an entire portal for handling diagnostics and monitoring. Inside you can view telemetry data, activity, system health, raw information logs, and more.
Here’s a look at the Activity monitoring tool, which provides a visual breakdown of what a user was doing over a specific timeframe.
- Performance timer. The performance timer is a tool that identifies the gap between client time and server time.
- Business Process Modeler. The Business Process Modeler (BPM) allows you to make sure processes align with business requirements.
- Task recorder. The Task recorder records business processes, tasks, and scenarios, allowing users to identify problems and opportunities for improvement. Essentially, it enables users to get to the root cause of a problem faster.
LCS includes way more built-in tools and capabilities that can help you diagnose and fix problems. If you’re interested in learning more, you can check out our complete LCS breakdown here.
Dynamics 365 users have a lot of self-serve tools at their fingertips for monitoring and optimizing system performance.
But — some problems are easier to fix than others and you may want to consider working with a certified partner that can help you fix problems as they emerge and continue optimizing your system.
Microsoft does offer support to D365 subscribers, but it’s more reactive (you have to report a problem/submit a case). And often – they’re fixing problems on their end, rather than helping clients maximize the potential of their ERP investment.
Certified partners like Velosio can look for opportunities to automate business processes, testing scenarios, or security/governance enforcement. That way, your team spends less time monitoring performance data and troubleshooting issues – and more time on the tasks that create value for your business and its customers.
Get in touch with an expert to find out more about how we help clients optimize D365 performance and drive better business outcomes.