Groups | Blog | Home
all groups > dotnet performance > december 2004 >

dotnet performance : aspnet worker process hang


samik
12/17/2004 3:13:02 AM
I am using .NET Framework 1.1 for asp.net. When many users connect the
process size increses and never comes down. After going upto 450MB it hangs.
I have tried with MemoryLimit and ResponseDeadlockInterval parameter of
Cam
12/17/2004 5:31:09 AM
[quoted text, click to view]

I beileve the problem occurs when the server becomes too busy to schedule
garbage collections, specifically of higher generation objects. You can try
using a tool to monitor the size of the different generations to see what is
happening.

As far as fixing the problem, you probably need to look at ways to reduce
the server load. Perhaps caching sections of your site that don't change
often -- even if you only cash for, say 10 seconds, you're only performing
the actual logic once per ten seconds, rather than maybe 30 times. Even if
the page is parameterised, you can try caching the segments seperately to cut
down on the load. Failing this, more servers and some load balancing.

samik
12/17/2004 8:45:02 PM
thanks for ur reply. can u refer any tool that can be helpful in monitoring
the performance of the garbage collector.

Our pages are parameterised and no two users are server with the same
parameter value. So caching of these pages will reuire more processing time
than the the time for which caching will be done. And no of users is limited
to 50-100. So possibility of bigger hit rate is less.

what really matters is that the size of the transactions are too big. which
causes the process to grow in size.. can u suggest any further?


[quoted text, click to view]
Cam
12/20/2004 3:09:02 AM
[quoted text, click to view]

Try DevPartner Studio from CompuWare, it has a lot of good tools to help in
debugging.

If you haven't done so already, ensure that and COM Interops are being
closed and any objects implementing IDisposable are being disposed of and not
left to the Finaliser to clean up (which is a bad thing because it moves
objects to higher generations which are cleaned up less often)

[quoted text, click to view]

I'm not entirely clear what you mean here. I'm assuming that you mean that
the amount of data being passed around is quite large and it's what is
causing the scalability problems. If this is the case then I believe that
you have two options:
(1) Redesign to try and limit the amount of data being passed around at any
one time. (e.g. By limiting what is passed to the minimum, or considering
some type of paging of data)
(2) Throw hardware at the problem, distrubute the load across a server farm.

Hope this is of some help!

Cheers,
C.
AddThis Social Bookmark Button