views:

773

answers:

5

Or I have to configure IIS specifically for this ? Do I have to use Web garden to take advantage of multiple cores ?

+1  A: 

IIS will by default take advantage of a multi-core CPU.

[If you want to set processor affinity, you need to explicitly configure this.]

Mitch Wheat
Mitch, you pointed to article titled "Setting Processor Affinity on Servers with Multiple CPUs (IIS 6.0)". Question was about mutiple cores on one processor.
Petar Repac
applogies! will update
Mitch Wheat
+2  A: 

It's actually the other way around. Processor affinity is switched off in IIS6, which means the load will be distributed across all available CPUs. If you want to restrict it, you can use processor affinity to stop this default behaviour.

As you want it to use all available CPUs, the default installation will work as you want.

Sohnee
On machine with multiple CPUs I still need multiple worker process, or not ? Can one process be shared between multiple CPUs ?
Petar Repac
@Peter - Yes. The worker process using threads, which will be distributes across processors.
Richard Szalay
+4  A: 

A web server is multi-threaded (at least, IIS is).

Any multi-threaded program will be distributed over all available cores by the Windows scheduler by default (though "processor affinity" can be tuned in the task manager, for example). Whether you are using ASP.NET or any other application server/language makes no difference here.

Tomalak
A: 

Also ASP.Net pages can run asynchronously and they can be multithreaded.

Rune Grimstad
A: 

How will this play out with PLINQ being introduced in.NET 4.0? My understanding is that at the code level, you will be able to directly access multiple cores in the same processor or even other processors from the same process. Does anyone know something about this?