Optimizing Dynamics 365 CE Performance Issues

Application Performance is often used in a general terms, however it is more specific than generic.

This blog delves into a comprehensive investigation strategy to identify and resolve performance bottlenecks. While the strategies discussed are applicable to any application, special attention is given to Dynamics 365 CE, highlighting key design considerations.

We have seen time to time, clients or users express concerns about the unsatisfactory performance of the system, highlights slow or low responsiveness. When confronted with such situations, my initial approach involves thoroughly understanding and identifying the specific areas where the performance is affected. Resolving performance issues follows a structured two-step process

  1. Identify/Isolate: To identify the area(s) of the application, that may be causing slow performance in application, you can look and delve into below area for a comprehensive understanding
User ExperienceAre users experiencing delays or lag while navigating the application, accessing records, or performing common tasks? Evaluate user feedback and complaints to determine if any specific functionalities are consistently slow.
Data Loading vs RetrievalCheck if, there is delay in “loading/retrieving” the data or “saving” the data takes extra time.

Investigate if JavaScript code running on Form Load or Form Save is causing performance issues. Similarly, assess any plugins/custom code registered on Retrieve operations for quick and optimized execution.
Custom Code ComponentsHave customizations, plugins, or integrations been added to the application? check if any of these additional custom component is causing the performance issue.
Server and Infrastructure Check server resources, including CPU, memory, and storage.
Network Latency Check if performance issues occurs in a specific office location, specific time and analyze if the slow network is causing issues.
ConcurrencyRun analysis to see if performance degrade when multiple users are simultaneously using the application

By conducting a thorough analysis of the aforementioned areas within the application, you will obtain precise insights into the performance issue, enabling you to expedite the resolution process effectively.

2. Fix: The following are the key areas to focus on while applying the performance fix.

Efficient Data RetrievalEnsure that application code retrieves only the required information from the database, optimizing both the selection of columns and rows to minimize data transfer overhead
Database Growth Analysis & OptimizationsGenerate a report from SQL Server DB to identify the top 10 growing tables, regarding Dynamics 365 CE, you can ,check AsyncOperationBase, Auditing tables, and Principal Object Access table.

Plan cleanup strategies for each of these tables based on Microsoft’s documentation for optimal application health. You can check here for cleanup strategies.

Check if Database queries are optimized, as this can often be a significant source of performance issues. Carefully design and apply indexes.
Background JobsInvestigate the presence of background jobs running during periods of slow performance. Optimize these jobs to run during off-office hours, reducing their impact on system responsiveness
Code OptimizationReview and optimize the application’s codebase. Look for inefficient algorithms, unnecessary loops, and redundant computations. Make sure the code is modular and reusable. Implement caching and other mechanism to restrict frequent server calls.

Regarding Dynamics 365 CE, Analyze plugins that exhibit slow execution and consider transitioning them to Asynchronous mode to streamline performance
Relationship BehaviorRegarding Dynamics 365 CE, review relationship behaviors to prevent unnecessary cascade effects that might be impacting system performance negatively
IndexingYou can identify frequent search columns and apply indexing for faster query execution. Avoid creating too many indexes as might slow down write (insert/update)
Form Load and Save OptimizationInvestigate if JavaScript code running on Form Load or Form Save is causing performance issues. Similarly, assess any plugins registered on Retrieve and Retrieve Multiple operations for quick and optimized execution
Workflow Job RetentionFor Dynamics 365 CE, Configure the retention of workflow jobs to automatically delete completed jobs, preventing unnecessary accumulation and potential performance degradation
Streamlining Auditing FeatureOptimize the use of the Auditing feature by enabling it only for necessary fields, reducing unnecessary data tracking that may impact performance
Hardware & Network (On-Premise)Network Load Balancer Validation : Verify the functionality of the network load balancer in on-premises environments, ensuring that it correctly diverts requests to all designated servers as intended

Scalability Review and Horizontal Server Scaling: Conduct a comprehensive review of the server architecture, particularly in on-premises setups, to assess the need for horizontal/vertical scaling of servers if necessary to accommodate increasing demands.

Design the application with scalability in mind. The application should be able to meet the future need to handle increased loads in terms of users.

Bandwidth and Latency Optimization: Ensure that the application users gets the recommended bandwidth and latency.

By adhering to these practices, the application’s performance can be effectively monitored, maintained, and improved to meet the desired performance standards and deliver an enhanced user experience.

Leave a comment

I’m Rishi Jha

Welcome to DecodeDynamics.in!
Dive into technical insights on Dynamics 365 CE upgrade, data migration, performance optimization, data clean-up, and more. Explore newer topics like Microsoft Copilot, Nuance Mix and beyond..

Let’s connect