Hi, I posted this in Deployment a few days ago, but I'm also going to
try my luck here!

I have a freshly installed Dynamics CRM 3.0 server cluster (using
Network Load Balancing), with the following specs: dual 1.6ghz Xeon
Quad Core, 4GB ram.

Both servers are using Windows 2003 R2 Standard.

The problem I am seeing is a 20 - 30 minute wait on accessing either
server (directly, or via the NLB IP) via web access (havent tried the
outlook client in a while) just to get to the front page.

Then, each sub part of CRM (Sales et al) produces a similar, if not
worse, lag - and in most cases, it just simply times out.

I know there should be a wait after IIS goes idle, but everyone I have
spoken to says this is only a matter of a few minutes, not the half an
hour or more I am seeing.

I have turned on the CRM trace logs, and the following errors pop up
fairly frequently during these access times:

>CrmSoapExtension detected non-CrmException - report will be sent to Watson:
System.Web.Services.Protocols.SoapException: Server was unable to
process request. ---> System.Threading.ThreadAbortException: Thread
was being aborted.
at System.Data.Common.Dbnetlib.ConnectionRead(HandleRef
pConnectionObject, Byte[] buffer, UInt16 readmin, UInt16 readmax,
UInt16 timeout, IntPtr& errno)
at System.Data.SqlClient.TdsParser.ReadNetlib(Int32 bytesExpected)
at System.Data.SqlClient.TdsParser.ReadBuffer()
at System.Data.SqlClient.TdsParser.ReadByteArray(Byte[] buff, Int32
offset, Int32 len)
at System.Data.SqlClient.TdsParser.ReadString(Int32 length)
at System.Data.SqlClient.TdsParser.ReadValue(_SqlMetaData md, Int32
length)
at System.Data.SqlClient.SqlDataReader.SeqRead(Int32 i, Boolean
useSQLTypes, Boolean byteAccess, Boolean& isNull)
at System.Data.SqlClient.SqlDataReader.SeqRead(Int32 i, Boolean
useSQLTypes, Boolean byteAccess)
at System.Data.SqlClient.SqlDataReader.GetValues(Object[] values)
at System.Data.Common.SchemaMapping.LoadDataRow(Boolean
clearDataValues, Boolean acceptChanges)
at System.Data.Common.DbDataAdapter.FillLoadDataRow(SchemaMapping
mapping)
at System.Data.Common.DbDataAdapter.FillFromReader(Object data, String
srcTable, IDataReader dataReader, Int32 startRecord, Int32 maxRecords,
DataColumn parentChapterColumn, Object parentChapterValue)
at System.Data.Common.DbDataAdapter.Fill(DataSet dataSet, String
srcTable, IDataReader dataReader, Int32 startRecord, Int32 maxRecords)
at System.Data.Common.DbDataAdapter.FillFromCommand(Object data, Int32
startRecord, Int32 maxRecords, String srcTable, IDbCommand command,
CommandBehavior behavior)
at System.Data.Common.DbDataAdapter.Fill(DataSet dataSet, Int32
startRecord, Int32 maxRecords, String srcTable, IDbCommand command,
CommandBehavior behavior)
at System.Data.Common.DbDataAdapter.Fill(DataSet dataSet, String
srcTable)
at
Microsoft.Crm.Metadata.DynamicMetadataCache.LoadDataSetFromDatabase()
at Microsoft.Crm.Metadata.DynamicMetadataCache..ctor(LoadMethod
method)
at Microsoft.Crm.Metadata.MetadataCache.LoadCacheNoLock()
at Microsoft.Crm.Metadata.MetadataCache.LoadCache()
at Microsoft.Crm.Metadata.MetadataCache.GetEntity(String entityName)
at
Microsoft.Crm.BusinessEntities.BusinessEntity.ProcessMetadataMap(String
platformName)
at Microsoft.Crm.BusinessEntities.BusinessProcessObject..ctor(Type
entityType, String platformName)
at Microsoft.Crm.BusinessEntities.BusinessProcessObject..ctor(Type
entityType)
at Microsoft.Crm.ObjectModel.NotificationService..ctor()
at Microsoft.Crm.WebServices.NotificationWebService..ctor()
--- End of inner exception stack trace ---

and

>CrmSoapExtension detected non-CrmException - report will be sent to Watson:
System.Web.Services.Protocols.SoapException: Server was unable to
process request. ---> System.OutOfMemoryException: Exception of type
System.OutOfMemoryException was thrown.
--- End of inner exception stack trace ---

and

>Exception in NotificationWatcherThreadProc: The operation has timed-out.

>An error occurred during the Application_OnAuthenticateRequest :
Error: Thread was being aborted.
Stack Trace: at System.RuntimeType.CreateInstanceImpl(Boolean
publicOnly)
at System.Activator.CreateInstance(Type type, Boolean nonPublic)
at Microsoft.Crm.Security.UserCache.GetCurrentUser(String username)
at Microsoft.Crm.Security.UserCache.GetCurrentUser()
at
Microsoft.Crm.MainApplication.Application_OnAuthenticateRequest(Object
Source, EventArgs Details)




The system currently has zero users, I am the only user of the system
at the moment so its most certainly not a capacity issue (or so I
would hope).

This is a bog standard, vanilla install of Dynamics CRM.

Can anyone suggest anything? I am getting pretty desperate here, as
the only alternative is to reinstall - and I would not be looking
forward to that!

Regards
Richard