Webserver with 2 processors

R

RayAll

I'm having a webserver with 2 processors .I read an article somewhere that
state mamangement on 2 processors in an ASP.NET application is different
with one processor.Is that right?

Thanks
 
G

Guest

Most propably you refer to session state management.

In ASP.NET there are two modes of Session State management. InProc and
OutProc.

In the InProc mode the state is stored in the same memory with the ASP.NET
worker process.
In the OutProc mode the state is stored outside IIS memory so you can use it
in a load balancing environment (like a server farm or similar) - It's stored
either on the state service or in sql server.

In the first mode if the asp.net process restarts or moves to another
processor the state data will be lost and there, there is a difference
between one and multiple processors.

In multiple processor scenarios it is preferable to use the OutProc mode as
the state data is stored outside of processes that can restart/be transfered
and in that sense state managment is different in multiple processor
scenarios.

Tasos
 
R

RayAll

Can you give me an example of which,workerprocess moves to another process?

The problem that I am working with a team who are using session variables
all over palce and they have deployed their application to a webserver with
two processors .I told them that it might be problematic but I don;t have a
practical reason for that.

Thanks
 
J

Juan T. Llibre

You'll need to use either State Server or SQL Server state management
if you turn on the web garden feature, since ASP.NET is no longer
tied down to a single processor and/or a single process.

State management has nothing to do with the number of processors
a server has, except for needing out-of-process state management,
but you do need to be careful with your configuration.

If you want all processors to share ASP.NET tasks,
you should turn the webGarden mask, in the processModel to true.

You will also need to set the cpuMask="[bit mask]"
to set the number of CPUs available for ASP.NET processes
(webGarden must be set to true if the bit mask is set)

If you want to use IIS 6.0 application pooling, make sure the
application keeps a connection open so that its requests are
sent back to the appropriate process.

See :
http://msdn.microsoft.com/library/d...l/cpconperformanceapplicationpoolsettings.asp
and see
http://msdn.microsoft.com/library/d...us/cpgenref/html/gngrfProcessmodelSection.asp
for the cpu mask settings.
 
J

Juan T. Llibre

re:
Can you give me an example of which
workerprocess moves to another process?

See my other reply.

It has all the info you need to configure ASP.NET
to work reliably with more than one processor.
 
R

Ray5531

So ,you mean that if their application is set to use both cpus it mean there
should be 2 workerproceesses to take advantage of having 2 processors in the
web server and with such a configuration Inproc seesion management(using
session variables) don't work.Am I right?

Thanks
Juan T. Llibre said:
You'll need to use either State Server or SQL Server state management
if you turn on the web garden feature, since ASP.NET is no longer
tied down to a single processor and/or a single process.

State management has nothing to do with the number of processors
a server has, except for needing out-of-process state management,
but you do need to be careful with your configuration.

If you want all processors to share ASP.NET tasks,
you should turn the webGarden mask, in the processModel to true.

You will also need to set the cpuMask="[bit mask]"
to set the number of CPUs available for ASP.NET processes
(webGarden must be set to true if the bit mask is set)

If you want to use IIS 6.0 application pooling, make sure the
application keeps a connection open so that its requests are
sent back to the appropriate process.

See :
http://msdn.microsoft.com/library/d...l/cpconperformanceapplicationpoolsettings.asp
and see
http://msdn.microsoft.com/library/d...us/cpgenref/html/gngrfProcessmodelSection.asp
for the cpu mask settings.






RayAll said:
I'm having a webserver with 2 processors .I read an article somewhere
that state mamangement on 2 processors in an ASP.NET application is
different with one processor.Is that right?

Thanks
 
J

Juan T. Llibre

Exactly.





Ray5531 said:
So, you mean that if their application is set to use both cpus it mean
there should be 2 workerproceesses to take advantage of having 2
processors in the web server and with such a configuration Inproc seesion
management(using session variables) don't work. Am I right?

Thanks
Juan T. Llibre said:
You'll need to use either State Server or SQL Server state management
if you turn on the web garden feature, since ASP.NET is no longer
tied down to a single processor and/or a single process.

State management has nothing to do with the number of processors
a server has, except for needing out-of-process state management,
but you do need to be careful with your configuration.

If you want all processors to share ASP.NET tasks,
you should turn the webGarden mask, in the processModel to true.

You will also need to set the cpuMask="[bit mask]"
to set the number of CPUs available for ASP.NET processes
(webGarden must be set to true if the bit mask is set)

If you want to use IIS 6.0 application pooling, make sure the
application keeps a connection open so that its requests are
sent back to the appropriate process.

See :
http://msdn.microsoft.com/library/d...l/cpconperformanceapplicationpoolsettings.asp
and see
http://msdn.microsoft.com/library/d...us/cpgenref/html/gngrfProcessmodelSection.asp
for the cpu mask settings.






RayAll said:
I'm having a webserver with 2 processors .I read an article somewhere
that state mamangement on 2 processors in an ASP.NET application is
different with one processor.Is that right?

Thanks
 
R

Ray5531

So I'd like to confirm this one as well,thanks .

Whn there is 2 worker processors on a machine which has two processors,one
request from user#1 to the application might be handed over to
workerproccess#1 and the next request from the same user might be handed
over to the Workerprocess#2. Right? I think that's why Inproc session state
is not working in this scenario.


Thanks for your help
Juan T. Llibre said:
Exactly.





Ray5531 said:
So, you mean that if their application is set to use both cpus it mean
there should be 2 workerproceesses to take advantage of having 2
processors in the web server and with such a configuration Inproc seesion
management(using session variables) don't work. Am I right?

Thanks
Juan T. Llibre said:
You'll need to use either State Server or SQL Server state management
if you turn on the web garden feature, since ASP.NET is no longer
tied down to a single processor and/or a single process.

State management has nothing to do with the number of processors
a server has, except for needing out-of-process state management,
but you do need to be careful with your configuration.

If you want all processors to share ASP.NET tasks,
you should turn the webGarden mask, in the processModel to true.

You will also need to set the cpuMask="[bit mask]"
to set the number of CPUs available for ASP.NET processes
(webGarden must be set to true if the bit mask is set)

If you want to use IIS 6.0 application pooling, make sure the
application keeps a connection open so that its requests are
sent back to the appropriate process.

See :
http://msdn.microsoft.com/library/d...l/cpconperformanceapplicationpoolsettings.asp
and see
http://msdn.microsoft.com/library/d...us/cpgenref/html/gngrfProcessmodelSection.asp
for the cpu mask settings.






I'm having a webserver with 2 processors .I read an article somewhere
that state mamangement on 2 processors in an ASP.NET application is
different with one processor.Is that right?

Thanks
 
J

Juan T. Llibre

Exactly.





Ray5531 said:
So I'd like to confirm this one as well,thanks .

Whn there is 2 worker processors on a machine which has two processors,one
request from user#1 to the application might be handed over to
workerproccess#1 and the next request from the same user might be handed
over to the Workerprocess#2. Right? I think that's why Inproc session
state is not working in this scenario.


Thanks for your help
Juan T. Llibre said:
Exactly.





Ray5531 said:
So, you mean that if their application is set to use both cpus it mean
there should be 2 workerproceesses to take advantage of having 2
processors in the web server and with such a configuration Inproc
seesion management(using session variables) don't work. Am I right?

Thanks
You'll need to use either State Server or SQL Server state management
if you turn on the web garden feature, since ASP.NET is no longer
tied down to a single processor and/or a single process.

State management has nothing to do with the number of processors
a server has, except for needing out-of-process state management,
but you do need to be careful with your configuration.

If you want all processors to share ASP.NET tasks,
you should turn the webGarden mask, in the processModel to true.

You will also need to set the cpuMask="[bit mask]"
to set the number of CPUs available for ASP.NET processes
(webGarden must be set to true if the bit mask is set)

If you want to use IIS 6.0 application pooling, make sure the
application keeps a connection open so that its requests are
sent back to the appropriate process.

See :
http://msdn.microsoft.com/library/d...l/cpconperformanceapplicationpoolsettings.asp
and see
http://msdn.microsoft.com/library/d...us/cpgenref/html/gngrfProcessmodelSection.asp
for the cpu mask settings.






I'm having a webserver with 2 processors .I read an article somewhere
that state mamangement on 2 processors in an ASP.NET application is
different with one processor.Is that right?

Thanks
 
R

RayAll

Thanks Jaun for your nice help.

Juan T. Llibre said:
Exactly.





Ray5531 said:
So I'd like to confirm this one as well,thanks .

Whn there is 2 worker processors on a machine which has two
processors,one request from user#1 to the application might be handed
over to workerproccess#1 and the next request from the same user might be
handed over to the Workerprocess#2. Right? I think that's why Inproc
session state is not working in this scenario.


Thanks for your help
Juan T. Llibre said:
Exactly.





So, you mean that if their application is set to use both cpus it mean
there should be 2 workerproceesses to take advantage of having 2
processors in the web server and with such a configuration Inproc
seesion management(using session variables) don't work. Am I right?

Thanks

You'll need to use either State Server or SQL Server state management
if you turn on the web garden feature, since ASP.NET is no longer
tied down to a single processor and/or a single process.

State management has nothing to do with the number of processors
a server has, except for needing out-of-process state management,
but you do need to be careful with your configuration.

If you want all processors to share ASP.NET tasks,
you should turn the webGarden mask, in the processModel to true.

You will also need to set the cpuMask="[bit mask]"
to set the number of CPUs available for ASP.NET processes
(webGarden must be set to true if the bit mask is set)

If you want to use IIS 6.0 application pooling, make sure the
application keeps a connection open so that its requests are
sent back to the appropriate process.

See :
http://msdn.microsoft.com/library/d...l/cpconperformanceapplicationpoolsettings.asp
and see
http://msdn.microsoft.com/library/d...us/cpgenref/html/gngrfProcessmodelSection.asp
for the cpu mask settings.






I'm having a webserver with 2 processors .I read an article somewhere
that state mamangement on 2 processors in an ASP.NET application is
different with one processor.Is that right?

Thanks
 
R

RayAll

oh,I forgot to ask something.

In the article you introduced,it says that if I don't close the
connection,it means that the requests are always sent back to the right
process.I think this dose solve the problem of Inproc session state,but I
have no idea how good or bad is to keep the connection alive and not close
it ,I don't know which connection it is talking about and generally it's
supposed to be closed or left open!!!???


Thanks
Juan T. Llibre said:
Exactly.





Ray5531 said:
So I'd like to confirm this one as well,thanks .

Whn there is 2 worker processors on a machine which has two
processors,one request from user#1 to the application might be handed
over to workerproccess#1 and the next request from the same user might be
handed over to the Workerprocess#2. Right? I think that's why Inproc
session state is not working in this scenario.


Thanks for your help
Juan T. Llibre said:
Exactly.





So, you mean that if their application is set to use both cpus it mean
there should be 2 workerproceesses to take advantage of having 2
processors in the web server and with such a configuration Inproc
seesion management(using session variables) don't work. Am I right?

Thanks

You'll need to use either State Server or SQL Server state management
if you turn on the web garden feature, since ASP.NET is no longer
tied down to a single processor and/or a single process.

State management has nothing to do with the number of processors
a server has, except for needing out-of-process state management,
but you do need to be careful with your configuration.

If you want all processors to share ASP.NET tasks,
you should turn the webGarden mask, in the processModel to true.

You will also need to set the cpuMask="[bit mask]"
to set the number of CPUs available for ASP.NET processes
(webGarden must be set to true if the bit mask is set)

If you want to use IIS 6.0 application pooling, make sure the
application keeps a connection open so that its requests are
sent back to the appropriate process.

See :
http://msdn.microsoft.com/library/d...l/cpconperformanceapplicationpoolsettings.asp
and see
http://msdn.microsoft.com/library/d...us/cpgenref/html/gngrfProcessmodelSection.asp
for the cpu mask settings.






I'm having a webserver with 2 processors .I read an article somewhere
that state mamangement on 2 processors in an ASP.NET application is
different with one processor.Is that right?

Thanks
 
J

Juan T. Llibre

That only applies when using IIS 6.0 application pooling.

In IIS 5.0 isolation mode, you can have
only as many worker processes as CPUs.

In worker process isolation mode,
multiple CPUs can service a single worker process.





RayAll said:
oh,I forgot to ask something.

In the article you introduced,it says that if I don't close the
connection,it means that the requests are always sent back to the right
process.I think this dose solve the problem of Inproc session state,but I
have no idea how good or bad is to keep the connection alive and not close
it ,I don't know which connection it is talking about and generally it's
supposed to be closed or left open!!!???


Thanks
Juan T. Llibre said:
Exactly.





Ray5531 said:
So I'd like to confirm this one as well,thanks .

Whn there is 2 worker processors on a machine which has two
processors,one request from user#1 to the application might be handed
over to workerproccess#1 and the next request from the same user might
be handed over to the Workerprocess#2. Right? I think that's why Inproc
session state is not working in this scenario.


Thanks for your help
Exactly.





So, you mean that if their application is set to use both cpus it mean
there should be 2 workerproceesses to take advantage of having 2
processors in the web server and with such a configuration Inproc
seesion management(using session variables) don't work. Am I right?

Thanks

You'll need to use either State Server or SQL Server state management
if you turn on the web garden feature, since ASP.NET is no longer
tied down to a single processor and/or a single process.

State management has nothing to do with the number of processors
a server has, except for needing out-of-process state management,
but you do need to be careful with your configuration.

If you want all processors to share ASP.NET tasks,
you should turn the webGarden mask, in the processModel to true.

You will also need to set the cpuMask="[bit mask]"
to set the number of CPUs available for ASP.NET processes
(webGarden must be set to true if the bit mask is set)

If you want to use IIS 6.0 application pooling, make sure the
application keeps a connection open so that its requests are
sent back to the appropriate process.

See :
http://msdn.microsoft.com/library/d...l/cpconperformanceapplicationpoolsettings.asp
and see
http://msdn.microsoft.com/library/d...us/cpgenref/html/gngrfProcessmodelSection.asp
for the cpu mask settings.






I'm having a webserver with 2 processors .I read an article
somewhere that state mamangement on 2 processors in an ASP.NET
application is different with one processor.Is that right?

Thanks
 
R

RayAll

Here are my two other questions?

A) IIS 6.0
For taking advantage of multiple processors in a single box ,Web Garden is
the only choice?
Dose IIS assign each worker process to one CPU in case of having web
Garden?
Can I have only one workerprocess serviced by multiple processors?
Can I have a webgarden on a single processor?

Thanks

Juan T. Llibre said:
That only applies when using IIS 6.0 application pooling.

In IIS 5.0 isolation mode, you can have
only as many worker processes as CPUs.

In worker process isolation mode,
multiple CPUs can service a single worker process.





RayAll said:
oh,I forgot to ask something.

In the article you introduced,it says that if I don't close the
connection,it means that the requests are always sent back to the right
process.I think this dose solve the problem of Inproc session state,but
I have no idea how good or bad is to keep the connection alive and not
close it ,I don't know which connection it is talking about and generally
it's supposed to be closed or left open!!!???


Thanks
Juan T. Llibre said:
Exactly.





So I'd like to confirm this one as well,thanks .

Whn there is 2 worker processors on a machine which has two
processors,one request from user#1 to the application might be handed
over to workerproccess#1 and the next request from the same user might
be handed over to the Workerprocess#2. Right? I think that's why Inproc
session state is not working in this scenario.


Thanks for your help
Exactly.





So, you mean that if their application is set to use both cpus it
mean there should be 2 workerproceesses to take advantage of having 2
processors in the web server and with such a configuration Inproc
seesion management(using session variables) don't work. Am I right?

Thanks

You'll need to use either State Server or SQL Server state
management
if you turn on the web garden feature, since ASP.NET is no longer
tied down to a single processor and/or a single process.

State management has nothing to do with the number of processors
a server has, except for needing out-of-process state management,
but you do need to be careful with your configuration.

If you want all processors to share ASP.NET tasks,
you should turn the webGarden mask, in the processModel to true.

You will also need to set the cpuMask="[bit mask]"
to set the number of CPUs available for ASP.NET processes
(webGarden must be set to true if the bit mask is set)

If you want to use IIS 6.0 application pooling, make sure the
application keeps a connection open so that its requests are
sent back to the appropriate process.

See :
http://msdn.microsoft.com/library/d...l/cpconperformanceapplicationpoolsettings.asp
and see
http://msdn.microsoft.com/library/d...us/cpgenref/html/gngrfProcessmodelSection.asp
for the cpu mask settings.






I'm having a webserver with 2 processors .I read an article
somewhere that state mamangement on 2 processors in an ASP.NET
application is different with one processor.Is that right?

Thanks
 
R

RayAll

That only applies when using IIS 6.0 application pooling.

I'm using IIS 6.0 as well.So it means that my application is always under an
application pool ,even if there are 3 workerprocesses defined in that
application pool,there shouldn't be any problem using session states because
any request would be redirecteded to the appropriate workerprocess and
session state is kept.

Thanks
Juan T. Llibre said:
That only applies when using IIS 6.0 application pooling.

In IIS 5.0 isolation mode, you can have
only as many worker processes as CPUs.

In worker process isolation mode,
multiple CPUs can service a single worker process.





RayAll said:
oh,I forgot to ask something.

In the article you introduced,it says that if I don't close the
connection,it means that the requests are always sent back to the right
process.I think this dose solve the problem of Inproc session state,but
I have no idea how good or bad is to keep the connection alive and not
close it ,I don't know which connection it is talking about and generally
it's supposed to be closed or left open!!!???


Thanks
Juan T. Llibre said:
Exactly.





So I'd like to confirm this one as well,thanks .

Whn there is 2 worker processors on a machine which has two
processors,one request from user#1 to the application might be handed
over to workerproccess#1 and the next request from the same user might
be handed over to the Workerprocess#2. Right? I think that's why Inproc
session state is not working in this scenario.


Thanks for your help
Exactly.





So, you mean that if their application is set to use both cpus it
mean there should be 2 workerproceesses to take advantage of having 2
processors in the web server and with such a configuration Inproc
seesion management(using session variables) don't work. Am I right?

Thanks

You'll need to use either State Server or SQL Server state
management
if you turn on the web garden feature, since ASP.NET is no longer
tied down to a single processor and/or a single process.

State management has nothing to do with the number of processors
a server has, except for needing out-of-process state management,
but you do need to be careful with your configuration.

If you want all processors to share ASP.NET tasks,
you should turn the webGarden mask, in the processModel to true.

You will also need to set the cpuMask="[bit mask]"
to set the number of CPUs available for ASP.NET processes
(webGarden must be set to true if the bit mask is set)

If you want to use IIS 6.0 application pooling, make sure the
application keeps a connection open so that its requests are
sent back to the appropriate process.

See :
http://msdn.microsoft.com/library/d...l/cpconperformanceapplicationpoolsettings.asp
and see
http://msdn.microsoft.com/library/d...us/cpgenref/html/gngrfProcessmodelSection.asp
for the cpu mask settings.






I'm having a webserver with 2 processors .I read an article
somewhere that state mamangement on 2 processors in an ASP.NET
application is different with one processor.Is that right?

Thanks
 
J

Juan T. Llibre

I hate to nitpick [ no, I don't ... ;-) ]
but you will *always* be in an application pool,
regardless of whether you are in an IIS5 AppPool,
or ins an IIS6 AppPool.

The key thing is that that applies *only* to IIS 6 AppPools.

The rest of your premises are correct.

re:

You're very much welcome... ;-)





RayAll said:
I'm using IIS 6.0 as well.So it means that my application is always under
an application pool ,even if there are 3 workerprocesses defined in that
application pool,there shouldn't be any problem using session states
because any request would be redirecteded to the appropriate workerprocess
and session state is kept.

Thanks
Juan T. Llibre said:
That only applies when using IIS 6.0 application pooling.

In IIS 5.0 isolation mode, you can have
only as many worker processes as CPUs.

In worker process isolation mode,
multiple CPUs can service a single worker process.





RayAll said:
oh,I forgot to ask something.

In the article you introduced,it says that if I don't close the
connection,it means that the requests are always sent back to the right
process.I think this dose solve the problem of Inproc session state,but
I have no idea how good or bad is to keep the connection alive and not
close it ,I don't know which connection it is talking about and
generally it's supposed to be closed or left open!!!???


Thanks
Exactly.





So I'd like to confirm this one as well,thanks .

Whn there is 2 worker processors on a machine which has two
processors,one request from user#1 to the application might be handed
over to workerproccess#1 and the next request from the same user might
be handed over to the Workerprocess#2. Right? I think that's why
Inproc session state is not working in this scenario.


Thanks for your help
Exactly.





So, you mean that if their application is set to use both cpus it
mean there should be 2 workerproceesses to take advantage of having
2 processors in the web server and with such a configuration Inproc
seesion management(using session variables) don't work. Am I right?

Thanks

You'll need to use either State Server or SQL Server state
management
if you turn on the web garden feature, since ASP.NET is no longer
tied down to a single processor and/or a single process.

State management has nothing to do with the number of processors
a server has, except for needing out-of-process state management,
but you do need to be careful with your configuration.

If you want all processors to share ASP.NET tasks,
you should turn the webGarden mask, in the processModel to true.

You will also need to set the cpuMask="[bit mask]"
to set the number of CPUs available for ASP.NET processes
(webGarden must be set to true if the bit mask is set)

If you want to use IIS 6.0 application pooling, make sure the
application keeps a connection open so that its requests are
sent back to the appropriate process.

See :
http://msdn.microsoft.com/library/d...l/cpconperformanceapplicationpoolsettings.asp
and see
http://msdn.microsoft.com/library/d...us/cpgenref/html/gngrfProcessmodelSection.asp
for the cpu mask settings.






I'm having a webserver with 2 processors .I read an article
somewhere that state mamangement on 2 processors in an ASP.NET
application is different with one processor.Is that right?

Thanks
 
R

RayAll

Juan,

If I have my application pooled by IIS and that application pool uses only
one worker process and webgardening is off ,the article says that :

"Indicates that CPU usage is scheduled by the Windows operating system. The
cpuMask attribute is ignored and only one worker process will run. The
default is false."

Is in this case other CPUs used or workerprocess is bound to one CPU only?

Thanks




Juan T. Llibre said:
I hate to nitpick [ no, I don't ... ;-) ]
but you will *always* be in an application pool,
regardless of whether you are in an IIS5 AppPool,
or ins an IIS6 AppPool.

The key thing is that that applies *only* to IIS 6 AppPools.

The rest of your premises are correct.

re:

You're very much welcome... ;-)





RayAll said:
I'm using IIS 6.0 as well.So it means that my application is always under
an application pool ,even if there are 3 workerprocesses defined in that
application pool,there shouldn't be any problem using session states
because any request would be redirecteded to the appropriate
workerprocess and session state is kept.

Thanks
Juan T. Llibre said:
That only applies when using IIS 6.0 application pooling.

In IIS 5.0 isolation mode, you can have
only as many worker processes as CPUs.

In worker process isolation mode,
multiple CPUs can service a single worker process.





oh,I forgot to ask something.

In the article you introduced,it says that if I don't close the
connection,it means that the requests are always sent back to the right
process.I think this dose solve the problem of Inproc session
state,but I have no idea how good or bad is to keep the connection
alive and not close it ,I don't know which connection it is talking
about and generally it's supposed to be closed or left open!!!???


Thanks
Exactly.





So I'd like to confirm this one as well,thanks .

Whn there is 2 worker processors on a machine which has two
processors,one request from user#1 to the application might be handed
over to workerproccess#1 and the next request from the same user
might be handed over to the Workerprocess#2. Right? I think that's
why Inproc session state is not working in this scenario.


Thanks for your help
Exactly.





So, you mean that if their application is set to use both cpus it
mean there should be 2 workerproceesses to take advantage of having
2 processors in the web server and with such a configuration Inproc
seesion management(using session variables) don't work. Am I right?

Thanks

You'll need to use either State Server or SQL Server state
management
if you turn on the web garden feature, since ASP.NET is no longer
tied down to a single processor and/or a single process.

State management has nothing to do with the number of processors
a server has, except for needing out-of-process state management,
but you do need to be careful with your configuration.

If you want all processors to share ASP.NET tasks,
you should turn the webGarden mask, in the processModel to true.

You will also need to set the cpuMask="[bit mask]"
to set the number of CPUs available for ASP.NET processes
(webGarden must be set to true if the bit mask is set)

If you want to use IIS 6.0 application pooling, make sure the
application keeps a connection open so that its requests are
sent back to the appropriate process.

See :
http://msdn.microsoft.com/library/d...l/cpconperformanceapplicationpoolsettings.asp
and see
http://msdn.microsoft.com/library/d...us/cpgenref/html/gngrfProcessmodelSection.asp
for the cpu mask settings.






I'm having a webserver with 2 processors .I read an article
somewhere that state mamangement on 2 processors in an ASP.NET
application is different with one processor.Is that right?

Thanks
 
J

Juan T. Llibre

The cpuMask setting, if set to higher than one,
only works when there's more than one processor.

Webgardening must be enabled if cpuMask is to be used.

If you leave it at the default setting, only one CPU will be used.






RayAll said:
Juan,

If I have my application pooled by IIS and that application pool uses only
one worker process and webgardening is off, the article says that :

"Indicates that CPU usage is scheduled by the Windows operating system.
The cpuMask attribute is ignored and only one worker process will run. The
default is false."

Is in this case other CPUs used or workerprocess is bound to one CPU only?

Thanks
Juan T. Llibre said:
I hate to nitpick [ no, I don't ... ;-) ]
but you will *always* be in an application pool,
regardless of whether you are in an IIS5 AppPool,
or ins an IIS6 AppPool.

The key thing is that that applies *only* to IIS 6 AppPools.

The rest of your premises are correct.

re:

You're very much welcome... ;-)





RayAll said:
That only applies when using IIS 6.0 application pooling.

I'm using IIS 6.0 as well.So it means that my application is always
under an application pool ,even if there are 3 workerprocesses defined
in that application pool,there shouldn't be any problem using session
states because any request would be redirecteded to the appropriate
workerprocess and session state is kept.

Thanks
That only applies when using IIS 6.0 application pooling.

In IIS 5.0 isolation mode, you can have
only as many worker processes as CPUs.

In worker process isolation mode,
multiple CPUs can service a single worker process.





oh,I forgot to ask something.

In the article you introduced,it says that if I don't close the
connection,it means that the requests are always sent back to the
right process.I think this dose solve the problem of Inproc session
state,but I have no idea how good or bad is to keep the connection
alive and not close it ,I don't know which connection it is talking
about and generally it's supposed to be closed or left open!!!???


Thanks
Exactly.





So I'd like to confirm this one as well,thanks .

Whn there is 2 worker processors on a machine which has two
processors,one request from user#1 to the application might be
handed over to workerproccess#1 and the next request from the same
user might be handed over to the Workerprocess#2. Right? I think
that's why Inproc session state is not working in this scenario.


Thanks for your help
Exactly.





So, you mean that if their application is set to use both cpus it
mean there should be 2 workerproceesses to take advantage of
having 2 processors in the web server and with such a
configuration Inproc seesion management(using session variables)
don't work. Am I right?

Thanks

You'll need to use either State Server or SQL Server state
management
if you turn on the web garden feature, since ASP.NET is no longer
tied down to a single processor and/or a single process.

State management has nothing to do with the number of processors
a server has, except for needing out-of-process state management,
but you do need to be careful with your configuration.

If you want all processors to share ASP.NET tasks,
you should turn the webGarden mask, in the processModel to true.

You will also need to set the cpuMask="[bit mask]"
to set the number of CPUs available for ASP.NET processes
(webGarden must be set to true if the bit mask is set)

If you want to use IIS 6.0 application pooling, make sure the
application keeps a connection open so that its requests are
sent back to the appropriate process.

See :
http://msdn.microsoft.com/library/d...l/cpconperformanceapplicationpoolsettings.asp
and see
http://msdn.microsoft.com/library/d...us/cpgenref/html/gngrfProcessmodelSection.asp
for the cpu mask settings.






I'm having a webserver with 2 processors .I read an article
somewhere that state mamangement on 2 processors in an ASP.NET
application is different with one processor.Is that right?

Thanks
 
R

RayAll

Jaun,

Can you do me a favour ??
I a going to submit this post in a completely different thread with a new ID
called "RezaA".Can u re-write your answer for that? I so appreciate it.I
will get a lunch as I bet with my firend on what I claim;-)

Thanks
Juan T. Llibre said:
The cpuMask setting, if set to higher than one,
only works when there's more than one processor.

Webgardening must be enabled if cpuMask is to be used.

If you leave it at the default setting, only one CPU will be used.






RayAll said:
Juan,

If I have my application pooled by IIS and that application pool uses
only one worker process and webgardening is off, the article says that :

"Indicates that CPU usage is scheduled by the Windows operating system.
The cpuMask attribute is ignored and only one worker process will run.
The default is false."

Is in this case other CPUs used or workerprocess is bound to one CPU
only?

Thanks
Juan T. Llibre said:
I hate to nitpick [ no, I don't ... ;-) ]
but you will *always* be in an application pool,
regardless of whether you are in an IIS5 AppPool,
or ins an IIS6 AppPool.

The key thing is that that applies *only* to IIS 6 AppPools.

The rest of your premises are correct.

re:
Thanks

You're very much welcome... ;-)





That only applies when using IIS 6.0 application pooling.

I'm using IIS 6.0 as well.So it means that my application is always
under an application pool ,even if there are 3 workerprocesses defined
in that application pool,there shouldn't be any problem using session
states because any request would be redirecteded to the appropriate
workerprocess and session state is kept.

Thanks

That only applies when using IIS 6.0 application pooling.

In IIS 5.0 isolation mode, you can have
only as many worker processes as CPUs.

In worker process isolation mode,
multiple CPUs can service a single worker process.





oh,I forgot to ask something.

In the article you introduced,it says that if I don't close the
connection,it means that the requests are always sent back to the
right process.I think this dose solve the problem of Inproc session
state,but I have no idea how good or bad is to keep the connection
alive and not close it ,I don't know which connection it is talking
about and generally it's supposed to be closed or left open!!!???


Thanks
Exactly.





So I'd like to confirm this one as well,thanks .

Whn there is 2 worker processors on a machine which has two
processors,one request from user#1 to the application might be
handed over to workerproccess#1 and the next request from the same
user might be handed over to the Workerprocess#2. Right? I think
that's why Inproc session state is not working in this scenario.


Thanks for your help
Exactly.





So, you mean that if their application is set to use both cpus it
mean there should be 2 workerproceesses to take advantage of
having 2 processors in the web server and with such a
configuration Inproc seesion management(using session variables)
don't work. Am I right?

Thanks

You'll need to use either State Server or SQL Server state
management
if you turn on the web garden feature, since ASP.NET is no
longer
tied down to a single processor and/or a single process.

State management has nothing to do with the number of processors
a server has, except for needing out-of-process state
management,
but you do need to be careful with your configuration.

If you want all processors to share ASP.NET tasks,
you should turn the webGarden mask, in the processModel to true.

You will also need to set the cpuMask="[bit mask]"
to set the number of CPUs available for ASP.NET processes
(webGarden must be set to true if the bit mask is set)

If you want to use IIS 6.0 application pooling, make sure the
application keeps a connection open so that its requests are
sent back to the appropriate process.

See :
http://msdn.microsoft.com/library/d...l/cpconperformanceapplicationpoolsettings.asp
and see
http://msdn.microsoft.com/library/d...us/cpgenref/html/gngrfProcessmodelSection.asp
for the cpu mask settings.






I'm having a webserver with 2 processors .I read an article
somewhere that state mamangement on 2 processors in an ASP.NET
application is different with one processor.Is that right?

Thanks
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,755
Messages
2,569,536
Members
45,019
Latest member
RoxannaSta

Latest Threads

Top