Solved

Microsoft CRM3 - performance

Posted on 2006-07-10
4
590 Views
Last Modified: 2013-11-24
Hi

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..

Regards
0
Comment
Question by:MontySR
  • 2
4 Comments
 
LVL 1

Author Comment

by:MontySR
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

Cheers.
0
 
LVL 25

Expert Comment

by:dstanley9
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.



0
 
LVL 3

Accepted Solution

by:
dtripp7 earned 500 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.
DECLARE TableCursor CURSOR FOR
SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_TYPE = 'base table'

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

FETCH NEXT FROM TableCursor INTO @TableName
WHILE @@FETCH_STATUS = 0
BEGIN
PRINT 'Reindexing ' + @TableName
DBCC DBREINDEX(@TableName,' ',90)
FETCH NEXT FROM TableCursor INTO @TableName
END

--Close and deallocate the cursor.
CLOSE TableCursor
DEALLOCATE 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
   WHERE    
      (xtype = 'U') AND (name NOT LIKE 'conflict%')
   ORDER BY name
 
   open c
 
   while 1=1
   begin
      fetch next from c into @TableName
      if (@@fetch_status <> 0 )
   begin
      break
   end
   select @sql = 'update statistics ' + @TableName + ' with fullscan'
   print @sql
   exec (@sql)
   end
 
  close c
  deallocate c
  go

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:

http://microsoftcrm.kalz.de/SharedFiles/PreCacheCRM.zip

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



0
 
LVL 1

Author Comment

by:MontySR
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.

Cheers
0

Featured Post

What Should I Do With This Threat Intelligence?

Are you wondering if you actually need threat intelligence? The answer is yes. We explain the basics for creating useful threat intelligence.

Join & Write a Comment

Hello All, In previous article we used Hortonworks sandbox to work with Hadoop. Now, lets think to create own single node Hadoop on Linux. Here we Install and Configure Apache Hadoop on UI based Oracle Linux. I assume, you have VMware installe…
Note: You must have administrative privileges in order to configure lead or case queues. Salesforce.com (http://www.Salesforce.com) is a cloud-based customer relationship management (CRM) system. It is widely used around the world by sales and ma…
This video discusses moving either the default database or any database to a new volume.
In this seventh video of the Xpdf series, we discuss and demonstrate the PDFfonts utility, which lists all the fonts used in a PDF file. It does this via a command line interface, making it suitable for use in programs, scripts, batch files — any pl…

747 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

Need Help in Real-Time?

Connect with top rated Experts

11 Experts available now in Live!

Get 1:1 Help Now