Ritesh Ranjan

Microsoft Dynamics CRM

Network Load Balancer Compression with Dynamics CRM 2013

Today, I am writing to share my experience with a hardware network load balancer and Dynamics CRM 2013. In this case, I am talking about LoadMaster LM-3600 Load Balancer (http://kemptechnologies.com/en/server-load-balancing-appliances/loadmaster-3600/overview/).

I was investigating an issue where a form load in Dynamics CRM 2013 was taking longer than expected resulting in bad user experience. I knew that the environment was highly customized with lots of jscripts, plug-ins, synchronous workflows and everything we could think of. I started monitoring HTTP traffic using IE Developer tools (F12) and Fiddler and I observed the following details in terms of actual performance with the form load:

image

image

I was focusing at the amount of Bytes received which was 24 MB and it was disturbing me. I looked at the traffic to see what best can be done in order to compress the possible traffic. I also referred ‘Enable WCF Compression to Improve CRM 2011 Network Performance’ written by Jeremy at: http://blogs.msdn.com/b/crminthefield/archive/2011/12/29/enable-wcf-compression-to-improve-crm-2011-network-performance.aspx to make sure all compressions are enabled. While validating it, I noticed that the WCF compression was not enabled, hence, I got it enabled following the steps mentioned by Jeremy. However at the same time, I also noticed that there wasn’t much of the WCF calls in the captured web traffic.

Then, I thought of discussing it further with the network team to figure out other possibilities. I noticed that there is a Hardware Network Load Balancer (mentioned above) handling the web traffic and sending the request to the CRM Web Server. I started investigating it further and observed that the ‘compression was not enabled on the Load Balancer’.

I got it enabled and the results were remarkable:

image

Data received was reduced from 24MB to 7MB which certainly helped a lot in gaining the overall form load performance and better user experience.

Hope this helps in investigating any similar issues.

Cheers!!

Ritesh