473,386 Members | 1,764 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,386 software developers and data experts.

Web Gardens

We are hosting our ASP.NET application on a multi-proc (4) machine but we're using InProc session state. Machine.Config has webGarden=false at the moment and only one ASP.NET worker process in running. Therefore, my guess is that running on a multi-proc box is wasted because only 1 CPU is being used - is this correct

My understanding is that in order to make use of all 4 CPU's we need to

1. Change machine.config (webGarden=true + cpuMask=0x0f
2. Configure web.config to use either the StateServer or SQL Server state machine
3. Make all session state types serializabl
4. Start the StateServer service (or use SQL Server

Are my thoughts correct

Or....is there anyway I can make full use of the 4 CPU's but keep InProc session state? I guess this means I would effectively be giving session affinity to a CPU because each session must be served from the same CPU \ ASP.NET worker process \ InProc session state to read\write to session state. I.e. To prevent subsequent requests from being served from a different ASP.NET worker process and thus not able to access stuff put into session state on a previous request - however, this sounds like a very bad idea

All thoughts on this appreciated

TIA.
Nov 18 '05 #1
2 2192
First, you note that there is just one ASP.NET Worker process, and conclude
that it runs on just one CPU. This is incorrect. Processes contain
multiple threads, and those threads can take advantage of multiple CPUs.
Maybe it's non-intuitive, but a single process can span multiple processors.
Nonetheless, for reasons other than performance, you probably want a web
garden.

2nd: Are you using IIS6 and WS2003? or some earlier version of Windows
Server?
The settings are different.

If you use WS2003 and IIS6, by default ASP.NET uses the IIS 6.0 worker
process isolation mode. The admin of this is done through the IIS6 MMC
panels, and not through the .NET machine.config file. In particular, many
of the System.web\processModel settings in machine.config mostly do not
apply, they are silently ignored. This includes @webGarden. Check the
technet doc describing how and when to configure web gardens, and the
implication for session state.
http://www.microsoft.com/technet/pro...g_net_hepj.asp
http://msdn.microsoft.com/library/en...olsettings.asp

On the other hand, if you are using IIS5 (W2000), then the machine.config
settings apply, including @webgarden and @cpumask. When using webGarden in
this way, each ASP.NET process has its processor affinity set to a
particular CPU. So in this special case, each single process is confined to
a single CPU.

Here's some doc that discusses processor affinity. This is a per-process
property (not per-thread).
http://msdn.microsoft.com/library/en...inityTopic.asp

One <processModel> thing that applies in both WS2003 and W2000 is the number
of IO threads per process.

In the end, you have to test it to see what works best in your situation.
Each app is different. There is no "one-size" solution, which is why the
options are there (InProc vs StateServer vs SQL, web garden vs not, # of io
threads, etc). Also remember performance (max throughput) is not the only,
and should probably not be the primary, criteria for judgement. Probably
you want to consider reliability or average response time, as higher
priorities than max throughput.

-Dino
"Alan Partridge" <an*******@discussions.microsoft.com> wrote in message
news:F4**********************************@microsof t.com...
We are hosting our ASP.NET application on a multi-proc (4) machine but we're using InProc session state. Machine.Config has webGarden=false at the
moment and only one ASP.NET worker process in running. Therefore, my guess
is that running on a multi-proc box is wasted because only 1 CPU is being
used - is this correct?
My understanding is that in order to make use of all 4 CPU's we need to -

1. Change machine.config (webGarden=true + cpuMask=0x0f)
2. Configure web.config to use either the StateServer or SQL Server state machines 3. Make all session state types serializable
4. Start the StateServer service (or use SQL Server)

Are my thoughts correct?

Or....is there anyway I can make full use of the 4 CPU's but keep InProc session state? I guess this means I would effectively be giving session
affinity to a CPU because each session must be served from the same CPU \
ASP.NET worker process \ InProc session state to read\write to session
state. I.e. To prevent subsequent requests from being served from a
different ASP.NET worker process and thus not able to access stuff put into
session state on a previous request - however, this sounds like a very bad
idea?
All thoughts on this appreciated.

TIA.

Nov 18 '05 #2
Ok. Thanks for the info. We're using Win2K + IIS5.

When performing some load tests we're seeing that although all 4 procs are being used, 1 in particular is being stressed more than the others.

I know that implementing a web garden has other benefits, but would we get a performance increase by moving to this configuration? I appreciate that threads spun off my the asp.net worker process can span the other cpu's.
Nov 18 '05 #3

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

2
by: Jon Whittlestone | last post by:
hi there. I am getting two > characters and i really can't understand why they are there - see http://www.jonwhittlestone.co.uk/portfolio%20files/wminproperty/landlordAddProperty.php It is...
44
by: seberino | last post by:
Tuples are defined with regards to parentheses ()'s as everyone knows. This causes confusion for 1 item tuples since (5) can be interpreted as a tuple OR as the number 5 in a mathematical...
3
by: Andrew Durstewitz | last post by:
I'm working with a Windows 2003 IIS 6.0 Server with 2 2.8Ghz HT processors (4 Proc to the server because of the HT). My problem I that I have web garden turned on and can't get the sessions to...
3
by: Mahmood Ahmad | last post by:
Hello, I have written a program that reads three types of records, validates them acording to certain requirements and writes the valid records into a binary file. The invalid records are...
4
by: Diffident | last post by:
Hello All, IIS 6.0 - I have an application which resides in its own application pool. Does anyone know if we can create multiple application pools for the same application? If we can create...
2
by: Bhuwan Bhaskar | last post by:
Hi, What is the difference between web farms and web gardens? Thanks n Regards, Bhuwan
1
by: littlealex | last post by:
IE6 not displaying text correctly - IE 7 & Firefox 3 are fine! Need some help with this as fairly new to CSS! In IE6 the text for the following page doesn't display properly - rather than being...
6
by: =?Utf-8?B?QnJlbmRhbiBLYXk=?= | last post by:
Hi there, We have an ASP.Net application that is generating huge numbers of Context Switches when a certain number of active users are present. We tried changing the configuration of the...
36
by: CK | last post by:
How do I write a set based query? I have a groupSets table with fields setId, idField, datasource, nameField, prefix, active Data: 1,someIDfield, someTable, someField, pre1, 1 2,someotherIDfield,...
0
by: taylorcarr | last post by:
A Canon printer is a smart device known for being advanced, efficient, and reliable. It is designed for home, office, and hybrid workspace use and can also be used for a variety of purposes. However,...
0
by: Charles Arthur | last post by:
How do i turn on java script on a villaon, callus and itel keypad mobile phone
0
by: aa123db | last post by:
Variable and constants Use var or let for variables and const fror constants. Var foo ='bar'; Let foo ='bar';const baz ='bar'; Functions function $name$ ($parameters$) { } ...
0
by: ryjfgjl | last post by:
In our work, we often receive Excel tables with data in the same format. If we want to analyze these data, it can be difficult to analyze them because the data is spread across multiple Excel files...
0
by: emmanuelkatto | last post by:
Hi All, I am Emmanuel katto from Uganda. I want to ask what challenges you've faced while migrating a website to cloud. Please let me know. Thanks! Emmanuel
0
BarryA
by: BarryA | last post by:
What are the essential steps and strategies outlined in the Data Structures and Algorithms (DSA) roadmap for aspiring data scientists? How can individuals effectively utilize this roadmap to progress...
1
by: nemocccc | last post by:
hello, everyone, I want to develop a software for my android phone for daily needs, any suggestions?
0
by: Hystou | last post by:
There are some requirements for setting up RAID: 1. The motherboard and BIOS support RAID configuration. 2. The motherboard has 2 or more available SATA protocol SSD/HDD slots (including MSATA, M.2...
0
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.