For one of our Microsoft customers who went live some 2-3 months back,application was performing well & there were no issues except some application related which was being sorted by offshore team here.Suddenly for the last 10days server used to trip off and finally ended up with COM+ timeout messages,this is usally on the peak business hours and the customer had to repackage in the COM+ console after that it would work fine temporarily & then same issue again.
After a detailed investigation and analysing one of the old similar Microsoft case,it was noted that there wasn’t enough Desktop Heap.
Desktop is a special memory heap for all Windows based programs running on the desktop.The Desktop heap is used for all objects,when a large number of Windows-based programs are running,this heap may run out of memory.Due to this behaviour COM+ applications could not handle failure event and just returns the error.
Do you what is the solution ? read on..
- Create 5-6 Windows Login users
- Then go to COM+ console and in the Properties Tab,change the identity to anyone of 4-5 users,such that load is balanced across this 4-5 users
- Creation of too many users also is an issue because all of this memory summed up shouldn’t exceed the RAM/memory
Creating a balanced desktop heap by this method seems to be working fine in one our customer located in India,I guess this customer should also work good.
If its J2EE applications,we can set the heap memory for an application but in Microsoft since there is no provision to set we have to follow this workaround solution.
For more detailed note on Desktop Heap,read through the articles below
http://support.microsoft.com/kb/126962 (Microsoft KB article)