Today I was helping a customer out that have experienced rather bad performance of the CRM system.

They described the performance as being bad in Europe (the server being hosted in Sweden), it was quite obvious that the problems do not originate from network latency, which can be an issue if performacne problems are experienced from the other side of the world (ex. from New Zealand with servers in Europe).

One of the most common problems with performance in CRM systems is bad SQL performance. In large installations, this is usually due to bad SAN (Storage Area Network) configurations from a SQL perspective. As CRM is meta-data driven, it is quite database heavy since it cannot be fully database optimized like custom made ASP.NET applications. Hence good database performance is vital to a rapid CRM.

This is also evident in the large scale performance test that Microsoft have done with 150 000 concurrent users, where the setup was based on High-performance SSD:s in RAID configuration to enable the scale of the test. Read more about it here:

A very good tool to use for benchmarking the disk performance on a server is SQLIO which can be downloaded for free at Microsofts site.

The two parameters to look for are IO and throughput. Do bare in mind that many SAN:s have caching which can make results strange, so it can be a good idea to try to increase the test file size. Also make sure to put the file on the drive which you wish to test.

I did some test on some of my environments which you can use to benchmark your system setups:
GW VPC – Microsoft Dynamics CRM Demo environment run with 6 GB Memory on my E:
GW LAB – Our development environment, virtualized with RAID drive (4×150 GB 15k rpm)
GW C – Intel SSD 3:rd Generation 250 GB
GW E – Intel SSD 2:nd Generaton 150 GB

Throughput MB/s

SSD performance in this case blows the roof off the RAID and the loss of performance is rather substantial inside the VPC, but the read performance is still 5-7 times that of the RAID.

An interesting aspect of this is the GW LAB, our development machine run on RAID, it has almost 3 to 4 times the IO and throughput in writes compared to reads, which is not the fact for the SSD-based disks. This is probably due to some write caching functionality of the RAID.

My recommendation based on this is that if you need high performance on you CRM, use SSD:s in your setup. Do use server-grade SSD:s and used at least RAID:s with 2 disks redundancy, but it will give your CRM a rather large performance boost compared to normal grade SAN.

Gustaf Westerlund
MVP, CEO and owner at CRM-konsulterna AB