|
|
|
date: Fri, 17 Mar 2006 12:38:30 -0800,
group: microsoft.public.platformsdk.internet.server.isapi-dev
back
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]
|
|