Ureader.com  
Microsoft software help and Community
   home   |   control panel login   |   archive   |  
 
platform
active.directory
adsi
adsi.iis-admin
base
com_ole
complus_mts
component_svcs
database
directx
gdi
graphics_mm
internet.client
internet.server
internet.server.isapi-dev
localization
mapi
messaging
msi
mslayerforunicode
multimedia
networking
networking.ipv6
sdk_install
security
shell
telephony.tapi_2
telephony.tapi_3
telephony.tsp
telephony.wte
tools
ui
ui_shell
win_base_svcs
win16
  
 
date: Fri, 17 Mar 2006 12:38:30 -0800,    group: microsoft.public.platformsdk.internet.server.isapi-dev        back       


long running process in ASP.NET page   
The situation I have is that I have a long running process (that takes 15 min 
to process) kicked off from an ASP.NET page.  I launch a thread and kick of 
the process and return instantly.  I store information about the thread in 
the session variable, which allows the user to login later and see what the 
status of that process is.  I would like to use a web garden, however the 
round robin assignment of requests to the worker processes won’t work for me, 
because I need subsequent requests on the same session to go back to the same 
worker process.  How can I override the round-robin assignment, (ISAPI?), or 
how can I solve this problem.  NOTE: I will have the same problem when I go 
to a web farm, my strategy is to have requests from one session to go to the 
same server and then to the same process.  I understand that this limits 
scalability slightly; however, I am fine with this, I just don’t know how to 
make it go back to the same process…

 

How can this be done?

 

Thanks
date: Fri, 17 Mar 2006 12:38:30 -0800   author:   ob

Re: long running process in ASP.NET page   
Hello.

There is no way that you could control the process assignment for web
gardens from within IIS.  This is done entirely by http.sys and there is no
API to affect it.

Out of curiosity, what do you hope to gain by using a web garden?  You may
be better off by just using a single worker process.

Thank you,
-Wade A. Hilmo,
-Microsoft

"ob"  wrote in message
news:ECCD010D-9F6E-4FE8-AC61-DCBD14FC17E4@microsoft.com...
> The situation I have is that I have a long running process (that takes 15
min
> to process) kicked off from an ASP.NET page.  I launch a thread and kick
of
> the process and return instantly.  I store information about the thread in
> the session variable, which allows the user to login later and see what
the
> status of that process is.  I would like to use a web garden, however the
> round robin assignment of requests to the worker processes won't work for
me,
> because I need subsequent requests on the same session to go back to the
same
> worker process.  How can I override the round-robin assignment, (ISAPI?),
or
> how can I solve this problem.  NOTE: I will have the same problem when I
go
> to a web farm, my strategy is to have requests from one session to go to
the
> same server and then to the same process.  I understand that this limits
> scalability slightly; however, I am fine with this, I just don't know how
to
> make it go back to the same process.
>
>
>
> How can this be done?
>
>
>
> Thanks
>
>
date: Sat, 18 Mar 2006 20:45:07 -0800   author:   Wade A. Hilmo [MS]

Re: long running process in ASP.NET page   
Can you describe what you want to achieve with a web garden, and why web 
garden...

Because by-design, web garden requires you to deal with per-process state 
across all web garden processes, which is exactly what you are trying not 
solve by tying sessions to processes.

Without a fair way to distribute requests across processes, you get no 
availability benefits from web garden. And this distribution decision has to 
be made in kernel-mode (user-mode routing is expensive and defeats the IIS6 
worker process model) and you are not allowed (nor do you want to) run 
custom code in kernel-mode, the distribution mechanism is not customizable.

In other words, a web garden only buys you trouble given your current 
configuration and desired behavior -- why do you want/need web garden?

-- 
//David
IIS
http://blogs.msdn.com/David.Wang
This posting is provided "AS IS" with no warranties, and confers no rights.
//

"ob"  wrote in message 
news:ECCD010D-9F6E-4FE8-AC61-DCBD14FC17E4@microsoft.com...
> The situation I have is that I have a long running process (that takes 15 
> min
> to process) kicked off from an ASP.NET page.  I launch a thread and kick 
> of
> the process and return instantly.  I store information about the thread in
> the session variable, which allows the user to login later and see what 
> the
> status of that process is.  I would like to use a web garden, however the
> round robin assignment of requests to the worker processes won’t work 
> for me,
> because I need subsequent requests on the same session to go back to the 
> same
> worker process.  How can I override the round-robin assignment, (ISAPI?), 
> or
> how can I solve this problem.  NOTE: I will have the same problem when I 
> go
> to a web farm, my strategy is to have requests from one session to go to 
> the
> same server and then to the same process.  I understand that this limits
> scalability slightly; however, I am fine with this, I just don’t know 
> how to
> make it go back to the same process…
>
>
>
> How can this be done?
>
>
>
> Thanks
>
>
date: Sun, 19 Mar 2006 02:18:36 -0800   author:   David Wang [Msft]

Re: long running process in ASP.NET page   
I need to use a web garden and possibly a web farm to scale the application.  
Being limited to one process won't  give me the scalability that I desire.  
Imagine  a situation where the process takes up 80% of the CPU as it runs.  
If I want to have 10 or 20 users simultaneously executing the long running 
operation, this will not be possible without the ability to scale to multiple 
processes on multiple machines.  Since the long running operation runs in a 
thread based on the session, I will need to route requests back to the 
process that has the session info in it (so that it can get back to that 
thread).  

 

If I can’t control the assignment of requests to processes, can I put the 
request back on the request queue if the process that gets the request isn’t 
the right process? 

 

Thanks



"Wade A. Hilmo [MS]" wrote:

> Hello.
> 
> There is no way that you could control the process assignment for web
> gardens from within IIS.  This is done entirely by http.sys and there is no
> API to affect it.
> 
> Out of curiosity, what do you hope to gain by using a web garden?  You may
> be better off by just using a single worker process.
> 
> Thank you,
> -Wade A. Hilmo,
> -Microsoft
> 
> "ob"  wrote in message
> news:ECCD010D-9F6E-4FE8-AC61-DCBD14FC17E4@microsoft.com...
> > The situation I have is that I have a long running process (that takes 15
> min
> > to process) kicked off from an ASP.NET page.  I launch a thread and kick
> of
> > the process and return instantly.  I store information about the thread in
> > the session variable, which allows the user to login later and see what
> the
> > status of that process is.  I would like to use a web garden, however the
> > round robin assignment of requests to the worker processes won't work for
> me,
> > because I need subsequent requests on the same session to go back to the
> same
> > worker process.  How can I override the round-robin assignment, (ISAPI?),
> or
> > how can I solve this problem.  NOTE: I will have the same problem when I
> go
> > to a web farm, my strategy is to have requests from one session to go to
> the
> > same server and then to the same process.  I understand that this limits
> > scalability slightly; however, I am fine with this, I just don't know how
> to
> > make it go back to the same process.
> >
> >
> >
> > How can this be done?
> >
> >
> >
> > Thanks
> >
> >
> 
> 
>
date: Mon, 20 Mar 2006 07:38:31 -0800   author:   ob

Re: long running process in ASP.NET page   
I need to use a web garden and possibly a web farm to scale the application.  
Being limited to one process won't  give me the scalability that I desire.  
Imagine  a situation where the process takes up 80% of the CPU as it runs.  
If I want to have 10 or 20 users simultaneously executing the long running 
operation, this will not be possible without the ability to scale to multiple 
processes on multiple machines.  Since the long running operation runs in a 
thread based on the session, I will need to route requests back to the 
process that has the session info in it (so that it can get back to that 
thread).  

 

If I can’t control the assignment of requests to processes, can I put the 
request back on the request queue if the process that gets the request isn’t 
the right process? 

 

Thanks


"Wade A. Hilmo [MS]" wrote:

> Hello.
> 
> There is no way that you could control the process assignment for web
> gardens from within IIS.  This is done entirely by http.sys and there is no
> API to affect it.
> 
> Out of curiosity, what do you hope to gain by using a web garden?  You may
> be better off by just using a single worker process.
> 
> Thank you,
> -Wade A. Hilmo,
> -Microsoft
> 
> "ob"  wrote in message
> news:ECCD010D-9F6E-4FE8-AC61-DCBD14FC17E4@microsoft.com...
> > The situation I have is that I have a long running process (that takes 15
> min
> > to process) kicked off from an ASP.NET page.  I launch a thread and kick
> of
> > the process and return instantly.  I store information about the thread in
> > the session variable, which allows the user to login later and see what
> the
> > status of that process is.  I would like to use a web garden, however the
> > round robin assignment of requests to the worker processes won't work for
> me,
> > because I need subsequent requests on the same session to go back to the
> same
> > worker process.  How can I override the round-robin assignment, (ISAPI?),
> or
> > how can I solve this problem.  NOTE: I will have the same problem when I
> go
> > to a web farm, my strategy is to have requests from one session to go to
> the
> > same server and then to the same process.  I understand that this limits
> > scalability slightly; however, I am fine with this, I just don't know how
> to
> > make it go back to the same process.
> >
> >
> >
> > How can this be done?
> >
> >
> >
> > Thanks
> >
> >
> 
> 
>
date: Mon, 20 Mar 2006 07:41:30 -0800   author:   ob

Re: long running process in ASP.NET page   
Hello,

A web garden will not help you here.  It sounds like you are looking for a
way to distribute the load across multiple machines, which is not what a web
garden does (a web garden distributes requests across multiple processes on
the same machine.)

There are two ways that you could potentially distribute the load across
multiple machines.  First, you could use a smart router to distribute
requests to multiple machines.  Instead of using simply round robin, the
router would need to be able to look into the HTTP traffic for some clue
(like a session cookie, maybe) to affinitize sessions to the correct server.
The second alternative would be store the state of all of the long running
processes on a single machine.  Requests for new processing could be round
robin assigned, and requests to check the status could then all go to single
state machine (or you could also have the regular servers access the state
machine on the back end so that the client never sees the difference.)

I hope that this helps,
-Wade A. Hilmo,
-Microsoft

"ob"  wrote in message
news:2BA4ED99-2767-4B9F-9893-6514FBB43053@microsoft.com...
> I need to use a web garden and possibly a web farm to scale the
application.
> Being limited to one process won't  give me the scalability that I desire.
> Imagine  a situation where the process takes up 80% of the CPU as it runs.
> If I want to have 10 or 20 users simultaneously executing the long running
> operation, this will not be possible without the ability to scale to
multiple
> processes on multiple machines.  Since the long running operation runs in
a
> thread based on the session, I will need to route requests back to the
> process that has the session info in it (so that it can get back to that
> thread).
>
>
>
> If I can't control the assignment of requests to processes, can I put the
> request back on the request queue if the process that gets the request isn
't
> the right process?
>
>
>
> Thanks
>
>
> "Wade A. Hilmo [MS]" wrote:
>
> > Hello.
> >
> > There is no way that you could control the process assignment for web
> > gardens from within IIS.  This is done entirely by http.sys and there is
no
> > API to affect it.
> >
> > Out of curiosity, what do you hope to gain by using a web garden?  You
may
> > be better off by just using a single worker process.
> >
> > Thank you,
> > -Wade A. Hilmo,
> > -Microsoft
> >
> > "ob"  wrote in message
> > news:ECCD010D-9F6E-4FE8-AC61-DCBD14FC17E4@microsoft.com...
> > > The situation I have is that I have a long running process (that takes
15
> > min
> > > to process) kicked off from an ASP.NET page.  I launch a thread and
kick
> > of
> > > the process and return instantly.  I store information about the
thread in
> > > the session variable, which allows the user to login later and see
what
> > the
> > > status of that process is.  I would like to use a web garden, however
the
> > > round robin assignment of requests to the worker processes won't work
for
> > me,
> > > because I need subsequent requests on the same session to go back to
the
> > same
> > > worker process.  How can I override the round-robin assignment,
(ISAPI?),
> > or
> > > how can I solve this problem.  NOTE: I will have the same problem when
I
> > go
> > > to a web farm, my strategy is to have requests from one session to go
to
> > the
> > > same server and then to the same process.  I understand that this
limits
> > > scalability slightly; however, I am fine with this, I just don't know
how
> > to
> > > make it go back to the same process.
> > >
> > >
> > >
> > > How can this be done?
> > >
> > >
> > >
> > > Thanks
> > >
> > >
> >
> >
> >
date: Mon, 20 Mar 2006 07:56:11 -0800   author:   Wade A. Hilmo [MS]

Google
 
Web ureader.com


    COPYRIGHT 2007, YARDI TECHNOLOGY LIMITED, ALL RIGHT RESERVE  |   contact us