In our web application we see instances where we have the asp requests
queued going up and down when there are only 8-10 asp requests being
processed. If I understand correctly, this means there are one 8-10 asp
worker threads actually doing work. We are currently set to the default of
25 threads per processor, so there should be threads available to handle the
request.

We have found a couple of situations where we can cause the asp requests
queued to rise even if only one person is using the web server.

In the first situation, we have an asp page that contains a form and a
button that submits back to the same page. If the code to process the
submitted data takes a long time and the user clicks the submit button again
while the original submit is still being processed, the asp requests queued
will rise by 1. If you continue to click submit, the queue rises by one
each time.

Since this can be reproduced by having just one person using the server,
there should be plenty of asp worker threads to handle the additional
requests. However, it seems that each submit from the web page is using the
same worker thread. Why would this be the case?

The second instance that we can get the asp requests queued to rise is just
a long running asp page. We made a page that just does a for each loop from
0 to 1000000000. When we run the page, it obviously takes a while to run.
While it is running, if we hit the stop button, and then run the page again
(the original request is still processing because asp does not know the user
hit stop), the asp queue will go up by one, and will go up by one each time
we do this. Here again, it appears that individual asp requests are getting
sent to the same asp worker thread. Is this what is going on?

I know we could use "isclientconnected", but we want to know why it seems
that individual requests keep getting sent to the same thread.

Any help would be appreciated,

Thanks.

Pete Conlan

Re: ASP requests get queued when many threads are still available by Egbert

Egbert
Tue Oct 19 13:34:07 CDT 2004

"Peter Conlan" <anonymous@discussions.microsoft.com> wrote in message
news:eZNY$9ftEHA.1400@TK2MSFTNGP11.phx.gbl...
> In our web application we see instances where we have the asp requests
> queued going up and down when there are only 8-10 asp requests being
> processed. If I understand correctly, this means there are one 8-10 asp
> worker threads actually doing work. We are currently set to the default
> of 25 threads per processor, so there should be threads available to
> handle the request.
>
> We have found a couple of situations where we can cause the asp requests
> queued to rise even if only one person is using the web server.
>
> In the first situation, we have an asp page that contains a form and a
> button that submits back to the same page. If the code to process the
> submitted data takes a long time and the user clicks the submit button
> again while the original submit is still being processed, the asp requests
> queued will rise by 1. If you continue to click submit, the queue rises
> by one each time.
>
> Since this can be reproduced by having just one person using the server,
> there should be plenty of asp worker threads to handle the additional
> requests. However, it seems that each submit from the web page is using
> the same worker thread. Why would this be the case?
>
> The second instance that we can get the asp requests queued to rise is
> just a long running asp page. We made a page that just does a for each
> loop from 0 to 1000000000. When we run the page, it obviously takes a
> while to run. While it is running, if we hit the stop button, and then run
> the page again

Do you use any custom components? They they interact with any UI element or
do they 'sleep' threads?
Do your database scripts cause locks and deadlocks?

> (the original request is still processing because asp does not know the
> user hit stop), the asp queue will go up by one, and will go up by one
> each time we do this. Here again, it appears that individual asp requests
> are getting sent to the same asp worker thread. Is this what is going on?
>
> I know we could use "isclientconnected", but we want to know why it seems
> that individual requests keep getting sent to the same thread.

use iisstate
http://www.iisfaq.com/admin/Portal/LinkClick.aspx?mid=2817&Link=2513
to see what your pages /threads are doing...

> Any help would be appreciated,
>
> Thanks.
>
> Pete Conlan
>
>


Re: ASP requests get queued when many threads are still available by Peter

Peter
Tue Oct 19 14:21:22 CDT 2004

In the test examples I gave there were no databases involved, and no
components. Just an asp page doing
a
For i=0 to 100000000
response.write i
Next

I have used IIS State in the past, but my questions wasn't what is the
thread doing.
The question was more to figure out why even with a simple test page, one
user with 2 requests can cause the queue to go up, even though many threads
are available.

Thanks for the suggestions though. I do appreciate it.

Pete

"Egbert Nierop (MVP for IIS)" <egbert_nierop@nospam.invalid> wrote in
message news:eVkYZpgtEHA.412@TK2MSFTNGP14.phx.gbl...
> "Peter Conlan" <anonymous@discussions.microsoft.com> wrote in message
> news:eZNY$9ftEHA.1400@TK2MSFTNGP11.phx.gbl...
>> In our web application we see instances where we have the asp requests
>> queued going up and down when there are only 8-10 asp requests being
>> processed. If I understand correctly, this means there are one 8-10 asp
>> worker threads actually doing work. We are currently set to the default
>> of 25 threads per processor, so there should be threads available to
>> handle the request.
>>
>> We have found a couple of situations where we can cause the asp requests
>> queued to rise even if only one person is using the web server.
>>
>> In the first situation, we have an asp page that contains a form and a
>> button that submits back to the same page. If the code to process the
>> submitted data takes a long time and the user clicks the submit button
>> again while the original submit is still being processed, the asp
>> requests queued will rise by 1. If you continue to click submit, the
>> queue rises by one each time.
>>
>> Since this can be reproduced by having just one person using the server,
>> there should be plenty of asp worker threads to handle the additional
>> requests. However, it seems that each submit from the web page is using
>> the same worker thread. Why would this be the case?
>>
>> The second instance that we can get the asp requests queued to rise is
>> just a long running asp page. We made a page that just does a for each
>> loop from 0 to 1000000000. When we run the page, it obviously takes a
>> while to run. While it is running, if we hit the stop button, and then
>> run the page again
>
> Do you use any custom components? They they interact with any UI element
> or do they 'sleep' threads?
> Do your database scripts cause locks and deadlocks?
>
>> (the original request is still processing because asp does not know the
>> user hit stop), the asp queue will go up by one, and will go up by one
>> each time we do this. Here again, it appears that individual asp
>> requests are getting sent to the same asp worker thread. Is this what is
>> going on?
>>
>> I know we could use "isclientconnected", but we want to know why it seems
>> that individual requests keep getting sent to the same thread.
>
> use iisstate
> http://www.iisfaq.com/admin/Portal/LinkClick.aspx?mid=2817&Link=2513
> to see what your pages /threads are doing...
>
>> Any help would be appreciated,
>>
>> Thanks.
>>
>> Pete Conlan
>>
>>
>



Re: ASP requests get queued when many threads are still available by Egbert

Egbert
Wed Oct 20 09:55:59 CDT 2004

"Peter Conlan" <anonymous@discussions.microsoft.com> wrote in message
news:utIHjDhtEHA.2536@TK2MSFTNGP11.phx.gbl...
> In the test examples I gave there were no databases involved, and no
> components. Just an asp page doing
> a
> For i=0 to 100000000
> response.write i
> Next
>
> I have used IIS State in the past, but my questions wasn't what is the
> thread doing.
> The question was more to figure out why even with a simple test page, one
> user with 2 requests can cause the queue to go up, even though many
> threads are available.

Well, as long as the script runs, it is kidnapping a thread :) especially
with the script you use above.
Second, IIS optimizes the thread pool so it might reserve threads in
advance.

If you have a single Response.Write "Hello" you won't see the queue going
up...

> Thanks for the suggestions though. I do appreciate it.
>
>>
>> Do you use any custom components? They they interact with any UI element
>> or do they 'sleep' threads?
>> Do your database scripts cause locks and deadlocks?
>>
>>> (the original request is still processing because asp does not know the