R
Robert Livermore
Hi
I have been tasked with job to optimize a web service application. The
application contains a dictionary of strongly referenced objects. i.e.
(internal static System.Collections.Specialized.StringDictionary myDic = new
(System.Collections.Specialized.StringDictionary) The computer hosting the
web services is a running Window 2003 Web Edition. It has NUMA architecture
with 4 physical CPUs with 2Meg L2 cache (8 if hyperthreading is on) and 2 Gig
RAM. IIS 6.0 is installed in worker process isolation mode.
The concern is the strongly referenced objects will be induce
cross-processor lock contention on the StringDictionary. The question is how
much? I would like to make 2 comparisons.
Set the processModel's maxWorkerThreads and maxIOThreads to 100 for each test.
Test 1
One worker process.
Test 2
4 worker processes
SMPAffinitized = true.
From IIS documentation this should assign 1 CPU to each worker process in
the web garden. In effect this becomes 4 SMP computers on one computer. Hence
remove any "cross-processor lock contention".
What performance counter or tool should I use to monitor the
"cross-processor lock contention"?
Does hyper threading affect "cross-processor lock contention"?
I have been tasked with job to optimize a web service application. The
application contains a dictionary of strongly referenced objects. i.e.
(internal static System.Collections.Specialized.StringDictionary myDic = new
(System.Collections.Specialized.StringDictionary) The computer hosting the
web services is a running Window 2003 Web Edition. It has NUMA architecture
with 4 physical CPUs with 2Meg L2 cache (8 if hyperthreading is on) and 2 Gig
RAM. IIS 6.0 is installed in worker process isolation mode.
The concern is the strongly referenced objects will be induce
cross-processor lock contention on the StringDictionary. The question is how
much? I would like to make 2 comparisons.
Set the processModel's maxWorkerThreads and maxIOThreads to 100 for each test.
Test 1
One worker process.
Test 2
4 worker processes
SMPAffinitized = true.
From IIS documentation this should assign 1 CPU to each worker process in
the web garden. In effect this becomes 4 SMP computers on one computer. Hence
remove any "cross-processor lock contention".
What performance counter or tool should I use to monitor the
"cross-processor lock contention"?
Does hyper threading affect "cross-processor lock contention"?