Scott
2009-11-17 15:41:29 UTC
Im having a problem with a .net 2.0 aspx app on IIS6 creating a silly number
of threads using the w3wp.exe process for its specifc app pool. I see this
issue once every few weeks. The app has been isolated to its own app pool
with the following settings:
---------------------------------------------------------------------
RECYCLING
recycle worker processses (in minutes) : 870
recycle worker process (no of requests): (not ticked)
recycle worker processes at the following times: 00:00
max virtual memory: (not ticked)
max used memory (in mb): 1000mb (1gb)
PERFORMANCE
shutdown worker processes after being idle for (time in mins): 20
limit the kernal request queue (number of requests): 1000
enable cpu monitoring (%): 85
refresh cpu usage numbers (in mins): 5
action performed when cpu usage exceeds maximum cpu uses: NO ACTION (keeps
sessions)
max number of worker processes: 1
HEALTH
enable pinging (checked)
ping worker process every (seconds) : 30
enable rapid fail protection (checked)
failures: 5
time period (in mins):5
start time limit - worker process must startup within (seconds): 90
shutdown time limit - worker process must shutdown within (seconds): 90
---------------------------------------------------------------------
Normal running would see the w3wp.exe process utilise 300MB ram and 50
therads. When my problem occurs the thread count slowly increases to 10,000
, ram to 1GB before the threads are knocked back to 0. The w3wp.exe process
is NOT shutdown and my users are not logged out (crucially), ie they keep
their session and dont have to log back in . Altough the standard 50 threads
are killed in amoungst the 10, 000 rouge threads some running processes may
return an error but no reports incoming from end users. I have debugging
tools in place that allow me to log possible calls the threads make , hoping
to see a pattern.
1)Just wondering if any expert can offer any pros/cons on the above app pool
settings ?
2)I think the "max used mem" setting appears to be doing the trick to
automatiaclly handle this issue (by killing the threads, keeping the session
alive , but can someone explain why ? ... i take it threads are unrelated to
the session).
Apparently the app uses server based session but we store a local cookie in
a browser for authentication.
Thank you.
of threads using the w3wp.exe process for its specifc app pool. I see this
issue once every few weeks. The app has been isolated to its own app pool
with the following settings:
---------------------------------------------------------------------
RECYCLING
recycle worker processses (in minutes) : 870
recycle worker process (no of requests): (not ticked)
recycle worker processes at the following times: 00:00
max virtual memory: (not ticked)
max used memory (in mb): 1000mb (1gb)
PERFORMANCE
shutdown worker processes after being idle for (time in mins): 20
limit the kernal request queue (number of requests): 1000
enable cpu monitoring (%): 85
refresh cpu usage numbers (in mins): 5
action performed when cpu usage exceeds maximum cpu uses: NO ACTION (keeps
sessions)
max number of worker processes: 1
HEALTH
enable pinging (checked)
ping worker process every (seconds) : 30
enable rapid fail protection (checked)
failures: 5
time period (in mins):5
start time limit - worker process must startup within (seconds): 90
shutdown time limit - worker process must shutdown within (seconds): 90
---------------------------------------------------------------------
Normal running would see the w3wp.exe process utilise 300MB ram and 50
therads. When my problem occurs the thread count slowly increases to 10,000
, ram to 1GB before the threads are knocked back to 0. The w3wp.exe process
is NOT shutdown and my users are not logged out (crucially), ie they keep
their session and dont have to log back in . Altough the standard 50 threads
are killed in amoungst the 10, 000 rouge threads some running processes may
return an error but no reports incoming from end users. I have debugging
tools in place that allow me to log possible calls the threads make , hoping
to see a pattern.
1)Just wondering if any expert can offer any pros/cons on the above app pool
settings ?
2)I think the "max used mem" setting appears to be doing the trick to
automatiaclly handle this issue (by killing the threads, keeping the session
alive , but can someone explain why ? ... i take it threads are unrelated to
the session).
Apparently the app uses server based session but we store a local cookie in
a browser for authentication.
Thank you.