Do we need to scale up our servers?
Posted: April 21st, 2008 | Author: TnT Admin | Filed under: Analyze | Tags: Bottleneck, hardware | No Comments »Back to the counters Processor(_Total)\Interrupts/sec and System\Context Switches/sec. If Processor(_Total)\Interrupts/sec does not correlate well with System\Context Switches/sec yet you noticed a sudden jump in context switches may instead suggest that your application is hitting its scalability limit on your particular machine and you may need to scale out your application (for example by clustering) or possibly redesign how it handles user mode requests. (Source: Mitch Tulloch, Windows Networking)
So, what does System\Context Switches/sec represent?
A context switch occurs when the kernel switches the processor from one thread to another. A high rate of context switching means that the processor is being shared repeatedly between threads of the same priority (too many threads being generated from users or server that the processor spent time switching rather than performing useful work). (Source: Microsoft TechNet)
It’s a good idea to monitor System\Context Switches/sec over a period of time to establish a baseline for this counter. Why this is important, in the context of a load test, the System\Context Switches/sec will be collected as usual but you do not have a way of determining the acceptable threshold. A baseline of during its normal operation will greatly assist in analysing.
Leave a Reply