BI performance counter: Query pool job queue length

Applies to

SSAS

Description

A query pool is a type of an Analysis Services worker thread pool used to parse an incoming query request. Threads from the query pool are used for activity that takes place in the formula engine.

This performance counter measures the total number of jobs waiting for a thread from the query pool. The max thread limit for each pool is configured in the msmdsrv.ini configuration file. When the value of this performance counter is greater than zero then it indicates that there are more queries than query threads.

Resolved by

DBAs, Server administrators, BI developers

Suggested solutions

  1. To determine the current limits on an existing system, check out the msmdsrv.log file
  2. Consider setting PerNumaNode on the IOProcess thread pool to further optimize thread scheduling and execution
  3. Consider adding more CPU core
  4. Increase the Process MaxThreads setting from the default value of 64 to 128
  5. Review your partitioning strategy

Additional research

Performance Counters for SSAS 2008
Thread Pool Properties
Performance Counters (SSAS)
Performance Monitoring for SSAS – Perfmon Counter Cheat Sheet

 

To track BI performance metrics – consider using ApexSQL BI Monitor, a web application that monitors system, SSAS, SSIS and SSRS performance in real time.

⇐ Back to index