Let me start by saying I am very new to CRM. I wanted to know possible reason for slow performance of Dynamic 365 online. What are the factors that could affect it and is there a way I can prove that was causing the performance to be slow? Is there way I can check history of CRM, all the jobs it did on a specific way like a log so I can compare it with other date? I am looking for any possible tools I can use to find error logs or something that will help me get to the bottom of this. Thanks in advance!
Hi Hello1234,
Make sure UCI (unified client interface) model driven apps are used as D365 CE client, Classic forms are now deprecated. UCI is extremely fast when compare with classic UI.
Ensure all your client side script is updated with latest api that uses formContext instead of Xrm.Page.context
Follow best practices described while doing form customizations.
https://docs.microsoft.com/en-us/powerapps/maker/model-driven-apps/optimize-form-performance
Modify your client side service calls to use D365 Web API endpoint instead of deprecated SOAP API endpoint by utilizing latest client side api, This expected to improve performance as odata messages are less verbose than a soap messages.
Here are some more best practices
Ensure you are not making custom ribbon rules do not make repeated calls for the same information, instead build your libraries to store all the fetch data like roles, teams, privileges in JavaScript variables and use it for all the Ribbon commands.
Please do a basic network latency test as described here to ensure your users are not hampered by poor connectivity.
D365 CE online is built using Azure SQL which comes with Auto tuning, so more often than performance is automatically optimized.
https://docs.microsoft.com/en-us/power-platform/admin/analyze-improve-data-query-performance
Based on your volume of data Azure Elastic Pools also come into play to scale to your data requirements
https://docs.microsoft.com/en-us/azure/sql-database/sql-database-elastic-pool
Most of the poor plugin implementations cause performance issues, like using unsupported multithreading, reflection and processing multiple records in a loop by far external calls taking long time is major reason for performance concerns. Following the below best practices to a tee goes a long way with respect to building a robust and scalable D365 CE org.
If you have jobs that are doing large number of operations then you should be aware of api limits and how to be compliant with them
https://docs.microsoft.com/en-us/powerapps/developer/common-data-service/api-limits
https://docs.microsoft.com/en-us/powerapps/developer/common-data-service/best-practices/
You may consider using Power Automate(flow) and Azure logic apps based on requirement to build integration jobs that scale to your needs.
Common Data Service analytics dashboard is your best friend to closely follow the various performance aspect of your D365 organization.
https://docs.microsoft.com/en-us/power-platform/admin/analytics-common-data-service
Overall performance is a broad aspect, if you have any particular concern please raise a support ticket with Microsoft.
Regards,
Praveen T
D365 Support Engineer
Adis
136
Super User 2025 Season 1
Sohail Ahmed
81
Jonas "Jones" Melgaard
77
Super User 2025 Season 1