Expiring Today—Celebrate National IT Professionals Day with 3 months of free Premium Membership. Use Code ITDAY17


Microsoft CRM3 - performance

Posted on 2006-07-10
Medium Priority
Last Modified: 2013-11-24

Question:  How to make the performance of Microsoft CRM really responsive?

From my performance testing on a 15 person system:

1)  A dual processor (1GHz)  SQLServer2000 is lightly loaded (ie hardly showing anything on task manager)
2)  A seperate dual processor (1GHz) IIS6 webserver is lightly loaded (ie hardly showing anything on task manager)
3) Client machines - mine is a 1.4GHz with stacks of RAM... seems to max out the CPU when doing some CRM stuff

Our network is 100MBit/s and is lightly loaded..

Will it speed things up to have super fast desktops?

Would appreciate some real life experience..

Question by:MontySR
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 2

Author Comment

ID: 17077808
One more thing :->

It seems as though on first page load (of the day?), there can be a 4-7 second delay.. this could be a webservice start up delay?

Anyway, after that the app really does seem usable.

Any thoughts on minimum specs of Clients, Webserver, SQL server

LVL 25

Expert Comment

ID: 17092921
Are you using the Outlook client?  Laptop or Desktop client?  How is the performance when just using the web URLs?  

The first hit will have a delay because the CRM backend is using the .NET platform, and the first hit "compiles" the .NET assemblies.  After that, they are cached, so future hits are faster.

The laptop client generally has poorer performance than the desktop client because extra services (like the Indexing Service) need to be running for it to function.


Accepted Solution

dtripp7 earned 2000 total points
ID: 17095332

things i have done to speed up CRM 3.0 on our server and laptops:

- Review Administrative Tools > Services and change any unneeded services to Manual (so they do not automatically start) > stop the service

- Review items loaded in the tray and eliminate any not needed

- Reindex all the indexes in the database using the following query

1. On the Start menu, point to Programs, point to Microsoft SQL Server, and then click Query Analyzer.
2. In the Connect to SQL Server dialog box, click OK.
3. On the Query menu, click Change Database.
4. In the Select Database of <ServerName> dialog box, click the Microsoft CRM database that you want to work on, and then click OK.
5. In the Query window, type the following commands:

--Declare the variable.
DECLARE @TableName varchar(255)

--Declare the cursor.
WHERE TABLE_TYPE = 'base table'

--Open the cursor and run DBREINDEX script.
OPEN TableCursor

FETCH NEXT FROM TableCursor INTO @TableName
PRINT 'Reindexing ' + @TableName
DBCC DBREINDEX(@TableName,' ',90)
FETCH NEXT FROM TableCursor INTO @TableName

--Close and deallocate the cursor.
CLOSE TableCursor

6.  Click the Execute Query button on the toolbar, and the results show in the results pane.

Note: make sure you backup the database before running any sql query
Note: You need to update the statistics after all the indexes in a database have been defragmented or reindexed, or both

- Updating statistics on the various tables in the Microsoft CRM database enables the SQL Server Query Analyzer to choose an optimal query execution plan.  

Use the UPDATE STATISTICS command to update statistics

1. Open SQL Server Query Analyzer.
2. In the Connect to SQL Server dialog box, click OK.
3. In the Select Database of <ServerName> dialog box, click the Microsoft CRM database that you want to update, and then click OK.
4. In the Query window, type the following UPDATE STATISTICS commands:

Update Statistics QueueItemBase With FullScan
Update Statistics LeadBase With FullScan
Update Statistics ActivityBase with FullScan

5. Click the Execute Query button on the toolbar. "The command(s) completed successfully." appears in the results pane of the Query window.

Alternatively, you can also run the following script in SQL Server Query Analyzer to update the statistics and reindex every table in the database:

declare @TableName varchar(255)
declare @dbname varchar(255)
select @dbname = db_name(0)
declare @sql char (2000)
declare c cursor for
   SELECT  name FROM  sysobjects
      (xtype = 'U') AND (name NOT LIKE 'conflict%')
   ORDER BY name
   open c
   while 1=1
      fetch next from c into @TableName
      if (@@fetch_status <> 0 )
   select @sql = 'update statistics ' + @TableName + ' with fullscan'
   print @sql
   exec (@sql)
  close c
  deallocate c

This will update the statistics

- make changes to Microsoft CRM configuration

1. In Microsoft CRM, on the Home page, click the Settings tab.
2. On the Settings page, click System Customization.
3. Under Record Type Management, click Accounts.
4. In the Common Tasks area, click Set Default View.
5.  In the Default View Selector dialog box, select My Active Accounts, and then click OK.
6. When the confirmation message appears, click OK.

This will limit the number of accounts displayed.  You can also change the default number of items displayed to 25 from 50 to increase performance.  We also run the laptops in Offline mode and then synchronize which speeds up performance

There is also a Pre Cache tool but I have not tried this yet (third party development).  It is located at:


To use it, download and run:  PreCacheCRM.exe crmserver where crmserver is the name of your Microsoft CRM Webserver. (To edit the list URLs which will be cached, edit the config-file)

there are many other items that can be tuned to optimize CRM but these have helped our performance and seem fairly benign in terms of effects on the database or application - if you are interested in other optimization options, let me know


Author Comment

ID: 17096593
Many thanks dtripp7 (and dstanley9)

I'm going to test these things on our dev box next week (when it gets built again).... on a longer term basis dtripp7, yes I am very interested in CRM optimization.


Featured Post

Build and deliver software with DevOps

A digital transformation requires faster time to market, shorter software development lifecycles, and the ability to adapt rapidly to changing customer demands. DevOps provides the solution.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Note: You must have administrative privileges in order to create/edit Sharing Rules. Salesforce.com (http://www.salesforce.com) (SFDC) is a cloud-based customer relationship management (CRM) system. It is a database most commonly used by sales an…
For cloud, the “train has left the station” and in the Microsoft ERP & CRM world, that means the next generation of enterprise software from Microsoft is here: Dynamics 365 is Microsoft’s new integrated business solution that unifies CRM and ERP fun…
Video by: ITPro.TV
In this episode Don builds upon the troubleshooting techniques by demonstrating how to properly monitor a vSphere deployment to detect problems before they occur. He begins the show using tools found within the vSphere suite as ends the show demonst…
This tutorial will teach you the special effect of super speed similar to the fictional character Wally West aka "The Flash" After Shake : http://www.videocopilot.net/presets/after_shake/ All lightning effects with instructions : http://www.mediaf…
Suggested Courses

719 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question