How should I explain the relationship for Max Threads, Idle Threads and Busy Threads when I put them in one dashboard?
what's the aggregation I should use - average or sum or count?
These measures are in Measures -> Server Side Performance -> Agent based Measures -> Web Server
Also, how do them relate to "Current Thread count" (Measures -> Server Side Performance -> Agent based Measures -> Process Performance)?
Answer by Andreas G. ·
Hi
Great question - let me try to explain it
All these measures are captured by the Agent in a 10 second interval. So - when putting them on a chart and you configure the chart with a 10s resolution min, max, avg & sum should all be the same. If you have a different Aggregation, e.g: 1 minute then min, max, avg and sum will obviously change. If you want to find out spikes in your e.g: busy threads I would actually create a chart that shows both the Average and Max Aggregation of that measure. With that you see if you have sudden spikes at certain timeframes
"Count" will represent the number of values that made it into a single data point you see on the chart. Here the same rule applies as above. If you look at 10s aggregation then Count will always be 1 because we measure 1 data point every 10s. If you change the aggregation to a minute the Count measure will go to 6, ...
As for "Current Thread Count". This is a measure that your Java & .NET Agents capture from within the Java & .NET Process you are monitoring. The other measures (max, idle and busy) are captured by our Web Server Agent and are captured for the actual web server (Apache, IIS)
Let me know if this makes sense
The explanation is very helpful. One more question for the Web Server Max Threads - is this set by IIS? as my dashboard shows a line at 250.
There is a maxWorkerThreads property you can define for your ASP.NET Applilcation. Search for it and you will find references to it on MSDN
JANUARY 15, 3:00 PM GMT / 10:00 AM ET