4
votes

Our Dynamics CRM Solution is quite large, and it takes between 20 to 25 minutes to complete an import on our servers.

While testing the import process on a Dynamics CRM hosting provider, the import took significantly less time, around 8 minutes.

In an attempt to see if hardware can improve the import speed, I've setup a virtual machine with Dynamics CRM in VMware Workstation 8. The VM is on an SSD, 4 cores (from a 6 core i7-3930K), and has 12 GB RAM. It still took around 20 minutes. I tried SQL 2008 R2 SP2 and SQL 2012 with no noticeable difference.

How can I improve the import speed software-wise? Is there any information available that goes into detail on what the import process does, so we can optimize around those variables?

The solution contains 60+ entities, customizations to 40+ system entities, plugins, ribbon buttons, sitemap changes, processing steps, and a few hundred web resources. It's currently a little over 6MB.

Also, how can I know what hardware component is the biggest bottleneck for the import process? Perfmon showed the SSD idling away most of the import process, RAM was at 6.5 GB, only the processor showed relatively higher use, but not more than 30%-40%. Or, is VMware Workstation itself the bottleneck, and dedicated hardware, or ESX/Hyper-V, will improve this?

2
It takes 20 to 25 minutes just to import the solution file itself?Daryl
It takes that long from clicking import in the browser till CRM is ready to use with the new solution installed.Yona

2 Answers

1
votes

Even though it may be four cores, the import process itself is running on a single thread, so that might explain the relatively low CPU use - one core (plus a bit of another) is working really hard, which equals 30-40% total CPU. My bet is that you would see similar times (maybe a bit longer, but not much) even if you just gave the VM one core.

Your real problem here is that your solution is just too damn big. Break it into components. Test to see if you can narrow down the performance issues to certain customizations. I'd start removing all Web Resources, for example, and see how that effects the import.

Another approach would be to split it into two solutions - one that is "stable" and another that is under active development. Then you'd be importing a smaller solution more frequently.

0
votes

You're guaranteed to not get any worse performance on real hardware. But since your VM isn't using everything that is has, you should be able to improve performance without going to that step just yet. Have you tired changing the IIS Settings in your VM?