Friday, December 09, 2005

Technical Problem - .Net Remoting

Problem:
A Set of external users of who access .Net web service through web interface. Web Services makes call to .Net Remoting component it is implemented as Server activated object(Single Call, tcp channel) and Remoting Server is hosted as Windows Service in app server. The Remoting component internally makes calls to VC++ dll which access SQL Server DB only on certain cases.Remoting Component makes connection to Oracle DB.
Another set of users who access the Remoting Component from intranet. After certain point of time Remoting application started slowing down and forces to restart the application.

Question arising of the problem

1. Why Remoting Component is not scaling well.
2. How to trouble shoot this kind of scenario.Where the exact problem is(VC++ dll or Remoting component)?.
3. Instead of hosting as windows service changing the host to IIS will it help?.If we change to IIS, how can we test the performance improvement.Windows 2003 Server is being used.
4. Writing the Remoting Component as .Net Serviced component so that Object Pooling and JIT can be provided to improve perf. How can we be test that the performance improvement.
5. Do a code analyis and find any issues.

Possible Solutions:
1. Rewriting a componenet as Serviced Component
2. Rewriting the component as web service
3. Providing load balacing for remoting component.

Any others solutions mail me.