People complain of experiencing performance issues while using Microsoft Dynamics CRM; this is because, in the quest for improved functionality, they have compromised performance by carrying out changes without thinking of the repercussions on the application.
Commonly, performance is the aspect that is least thought about during the planning and designing stage. People are generally more interested in having a hassle-free deployment process than in how the application will be utilized.
Common causes of performance issues in Microsoft Dynamics 365 / CRM
1) The Network or The Internet Connection is Slow
When CRM is slow, it is not always a problem with CRM itself. Check to see how other applications are responding. If your CRM is hosted online or partner-hosted, it may just be an issue with the network bandwidth.
2) Running Heavy Reports
Heavy reports create a workload on the database resources. They use queries that look into the database to fetch the required data or record and sometimes queries are poorly written.
3) Improper Backup Plan and Schedule
If the CRM is slow at a particular time of the day, it could be because the database backup is scheduled to run at that particular period, the reason being that backups take a lot of server resources while running in the background.
4) Bad CRM Configuration and Complex Process Flows
As most of us know, having too many workflows and processes can have an adverse effect on CRM; a common one is a performance issue. It is advisable to disable all unnecessary plug-ins to reduce background processes to the minimum.
The more information you have on forms and views, the more time it takes for the form or view to load.
5) Insufficient Client and Server Resources
One major cause of performance issue in Dynamics CRM is insufficient resources like, low memory, high CPU usage and inadequate disk space. Any server or client running CRM must be using the recommended hardware and software.
Imagine a scenario whereby, a user tries accessing Dynamics CRM and fetching a heavy report via a browser on a system with 512MB memory. As expected, the browser will freeze while the task manager tries to release resources from other processes.
6) Database Fragmentation
As data is modified in a database, the tables and their indexes become fragmented. This makes data retrieval and queries very slow and tasking thereby reducing the overall performance of the application.
So How Can Dynamics CRM Be Optimized?
Develop a performance plan right from the analysis and planning stage of the deployment:
Consider the number of users who will access the application. Are the users light users or heavy who that will perform intensive tasks on CRM, such as reporting?
Because reports tend to use a large amount of database resources, if there will be need for heavy reports, you should identify the frequency and draw out a plan to address it during the planning phase.
You have the option to either make use of out-of-the-box reports or create a reporting server that you connect to your CRM application.
Perform Database Indexing
The less fragmented a database is, the faster data can be retrieved from the database.
Indexing works by reducing the number of records that need to be searched on a table when performing a database query.
Indexes in tables are then rebuilt and reorganized by creating new pages as needed.
Indexing is best done when there is not much workload on Dynamics, as a huge amount of server resources are used in carrying out the operation.
Avoid the Use of Custom Codes
A custom code is any functionality that is integrated into an application without any plan for updating or fixing it in the near future.
A custom code might be written by you or might be open source code acquired from the internet.
It is therefore better to make use of business rules that come from Microsoft, if possible, as custom codes make heavy use of resources.
Check Client Settings
On the client, use recommended browsers, check your antivirus program, and run a disk cleanup and other maintenance utilities.
Check your network bandwidth to avoid running heavy programs while using CRM.
Enable Trace Logging and Event Viewer
You can use Windows Event Viewer and also enable trace logging, using PowerShell on the server, for debugging. Checking error log files goes a long way in troubleshooting performance problems.
Dynamics 365 and CRM 2016 trace log
It now comes with the plug-in trace log functionality, which can be found in Customization under Settings. However, it is disabled by default and needs to be enabled from the Settings ->Administration ->System Settings->Customization tab.
There are many benefits of having optimized performance, some of which are:
- Efficiency in attending to customer requests and issues.
- Increase in company revenue as your staffs are able to meet their targets at rational time.
- Easy access to information on CRM whenever it is needed.
- Productivity is boosted when it is fast and smooth to use.
When you have an optimally performing CRM, you will be able to appreciate its flexibility and potential in meeting your organization’s goals and needs.