Analyzing thread statistics
Thread statistics show how activity is spread across threads on the AR System server. Analyzing thread statistics can be useful in understanding the load distribution of threads during heavy activity. It is not as useful when looking at a development server or investigating a particular operation that is slower than expected.
Before you begin
Before analyzing thread statistics, ensure that you have performed the following tasks:
- Collect logs for a performance issue.
- Run AR System Log Analyzer.
- View AR System Log Analyzer output.
To analyze thread statistics
- Click Thread Statistics.
API Statistics by Thread ID is displayed.
- Compare the number of fast, list, and private queues listed in Thread Statistics with the minimum and maximum configured for the system.
AR System Log Analyzer reports queues in use during the time captured in the log. If logs are enabled for at least 30 minutes, it indicates the number of fast, list, and private queues running on the system.
- Review the value of Max Idle Time for each thread.
- If all of the following points are true, consider decreasing the minimum or maximum threads configured for the queue:
- The value of Max Idle Time is greater than 3 seconds for most threads in the queue.
- Logs were captured on a production server during peak load times.
- The activity that the logs captured is representative of typical user activity.
- If the Max Idle time for a few threads is larger than 30 seconds, investigate issues using thread logs.
- If all of the following points are true, consider increasing the maximum number of threads:
- Max Idle Time is low.
- The number of gaps is less than 10% of the Count of API calls on each thread.
- Top N API calls run for less than 10 seconds.
- The server has sufficient processors to extend the number of threads.
An administrator uses AR System Log Analyzer to investigate system performance issues.
Under API Aggregates, the administrator clicks Top N and reviews the longest-running individual API calls. All of the API calls take less than 2 seconds.
The administrator clicks Thread Statistics and sees the following output:
(Click the image to expand it.)
The Avg Idle Time for the Admin thread is large, but this is expected because there are no administrative operations on the server during the test period.
The Avg Idle Time for fast threads is small, and the fast API operations are well distributed across the fast threads.
The list threads show a large Avg Idle Time. However, the number of API calls that the list threads process is also much lower than that for the Fast threads. This indicates that during the test period captured in the logs, the activity consisted primarily of submit and modify operations (and fewer query operations). Further testing with a typical user workload might be required to identify whether too many list threads are defined.
After verifying that the BMC Remedy AR System threads are configured according to the guidelines, the administrator decides there is no need to adjust the thread queues defined.