web
You’re offline. This is a read only version of the page.
close
Skip to main content

Notifications

Announcements

No record found.

Community site session details

Community site session details

Session Id :

Factors that Impact Performance of Dynamics 365 Finance and Operations

Rodney Hansen Profile Picture Rodney Hansen 26

This is an update to a blog post that I did several years back but it was focused on Dynamics AX 2009/2012.  This blog is about the process of performance tuning and what and where are all the things you can do to impact performance. Please come back as I will be sharing some troubleshooting performance issues I've seen over the years using this chart as the road map to solve the issue. 

Let me share the old diagram, and then go through each of the layers with the changes for Dynamics 365 Finance and Operations:

pastedimage1614090499474v2.png

Let’s start from the bottom of this list and work our way up with the information you need to think about when troubleshooting performance.

7- Hardware

For Dynamics 365 you no longer have to worry about the hardware as the servers are in Microsoft Azure.  This is great as you no longer have to worry about the physical hardware and configurations.  BUT, there is one piece that you still own and that is the connection to Azure. For the best user experience and high volume situations, it is recommended to use Express Route to connect to Azure so that you have the lowest latency and highest bandwidth you can to your Microsoft Dynamics 365 Finance and Operations systems.

6- Operating Systems

No more doing maintenance to install patches on the servers, YEAH !!!!  The Microsoft operations teams are taking care of all of that for you now.  You will simply receive notices about downtime for your deployments if it is necessary for the patches being installed by our team.

5- SQL Configuration

Like operating systems above, there is no more maintaining and configuring your SQL Server to work optimally with Dynamics 365.  Our Dynamics and SQL server product teams have come up with the optimal settings for the application so you don’t have too, YEAH !!  Our automated monitoring systems take care of all the necessary work that is needed to maintain a healthy and performing SQL server.

4- Database Schema

This is one of the areas where you as the customer or partner only have partial influence over the solution.  It’s no longer possible to change the schema for the core Dynamics 365 application.  The schema can be extended.  This is how we ensure smooth upgrades and quick releases of versions for Dynamics 365.  For the core application tables the only influence a customer or partner has is the ability to add new indexes to these tables via Lifecycle Servers (LCS). 

For custom tables you still have full control via the Microsoft Dynamics Development and Deployment tools and processes. 

PERFORMANCE RECOMMENDATION:  Please put all custom fields into your OWN tables and create the relation to that data.  What may be a simple add 1 field today could be 20 fields in the future.  Since much of the application selects all columns, the more columns you add via extensions potentially the slower you will make base code as it will read your new columns even though its not going to use that data.  Putting custom fields into custom tables and creating the relationships prevents this very hard to track down performance issue.

3- Application Code

This too is an area of shared responsibility between Microsoft and the Customers and Partners. For Microsoft application code, you now only have the ability to extend that code not change that code as in prior versions.  If a performance issue occurs in this code, you will have to submit a ticket to support and report the issue as you have no ability to change core code. 

For all Customer application code, that is yours to maintain and address any performance issues.  Like in prior versions, you have full control over this code. 

For ISV application code, you will need to open a support case with that ISV should you find a performance issue in that functionality.  You have no ability to overlayer ISV code as in the past.

PERFORMANCE RECOMMENDATION:  Plan on staying current with the available service updates applied by Microsoft. There will be 8 updates each year that contain critical hotfixes. You can also apply quality updates between the monthly Service Updates. These updates will have all of the latest hotfixes since that service update has been released.

PERFORMANCE RECOMMENDATION: A common recommendation that we have been recommending is for Forms and List Pages.  For those where there are many, many rows of data in them and the users first action once it opens is to then go and search to find their data, put a search form in front of that form or page.  Don’t make the users incur a long load time because there is a ton of data in the object to then just go and search.  Let them enter their search data and launch the form with that filter. I like to explain this suggestion this way.  When you open the web browser does it load the entire Internet and then ask you what you want to look for?  Try not to create this situation in your applications.

2- Application Configuration

This is an area that hasn’t changed too much.  You as the end user have control over how the application is configured.  There are some common areas where performance issues can occur because of how the system was configured.  Some of those are:

A- Number Sequences – Be sure to pre-allocate number sequences that will have a high usage over 1000 numbers an hour.

B- Database Logging – The admin’s favorite tool to find out who entered the data incorrectly.  Please avoid this unless business necessary as enabling logging on a high transaction table WILL cause performance issues.

C- Alerts – Users love the alerts feature !!  BUT, enabling alerts on a table also disables all set based operations on that table as the kernel has to check each row to see if it qualifies for an Alert.  Try to limit alerts to business necessary and NOT nice to have to avoid this potential performance issue.

There are 2 new issues that we commonly see with Dynamics 365 Finance and Operations. 

A- Wildcard searches.  Dynamics 365 Finance and Operations can take advantage of FULLTEXT indexes that have been put in place on the tables.  Try to take advantage of this.  If you have configured a module to use PARTIAL look ups then you are NOT using the FULLTEXT indexes but are using the LIKE in the SQL statement.  Talk with your functional consultants on how to configure this for your business.

B- BYOD batch Jobs.  Try to implement trickle not full data pulls when designing your solution for BYOD.  If you are doing full data pulls in the middle of the business day, it is HIGHLY likely to impact the user experience if there are millions of rows of data in those data pulls.  This is only a temporary challenge until Azure Data Lake integration with Dynamics 365 Finance and Operations is implemented.

PERFORMANCE RECOMMENDATION: Schedule and run the cleanup jobs that come with Dynamics 365 to help with database size and performance.

https://docs.microsoft.com/en-us/dynamics365/fin-ops-core/dev-itpro/sysadmin/cleanuproutines#system-administration

1- Users / Business Process

This area continues to be the most impactful area to performance.  Executing large processes at incorrect time, using Wildcard searches, etc, etc.

If you look at the above slide and the 2 examples given, Reports and Processes (MRP), those will shortly be less of an issue.  Large reports should be moving over to Azure Data Lake in the near future.  MRP performance and the issues has been addressed with our new MRP as a Service implementation which is the only option come Spring 2021 release.  This new service has taken the load off the production SQL and AOS Servers and improved performance of the process greatly. 

Here is the new Factors that Impact Performance chart for Dynamics 365 Finance and Operations

pastedimage1614090463925v1.png

If you have Premier Support we can help !!  Just ask your CSAM for a Dynamics 365 Finance and Operations Performance Review and we’ll have one of our performance specialist work with you to resolve your performance issues.

https://community.dynamics.com/ax/b/axinthefield/posts/dynamics-365-service-offerings

/cfs-file/__key/communityserver-blogs-components-weblogfiles/00-00-00-17-39/Dynamics-AX-Performance-Hands-on-Lab.pdf

/cfs-file/__key/communityserver-blogs-components-weblogfiles/00-00-00-17-39/Dynamics-AX_2D00_Performance-Review.pdf

/cfs-file/__key/communityserver-blogs-components-weblogfiles/00-00-00-17-39/Dynamics-AX_2D00_Performance-Review.pdf

/cfs-file/__key/communityserver-blogs-components-weblogfiles/00-00-00-17-39/Dynamics-365-for-Finance-and-Operations-Performance-Review.pdf

Rod "Hotrod" Hansen

Comments

*This post is locked for comments

  • BOVA365 Profile Picture BOVA365
    Posted at
    Any performance concerns with Mass Personalization of forms?
  • BOVA365 Profile Picture BOVA365
    Posted at
    Any performance concerns with Mass Personalization of forms?