BI performance counter: Processing pool IO job queue length

Applies to

SSAS

Description

A processing pool is a type of an Analysis Services worker thread pool used to process an incoming query request. Threads from the processing pool are used for activity that takes place in the storage engine including dimension scans, partition scans, and aggregation scans.

This performance counter measures the total number of jobs waiting for a thread from the processing IO pool. As of SSAS 2012, the processing pool was split into 2 types of thread pools, namely, the Process thread pool and the IOProcess thread pool.

Resolved by

DBAs, Server administrators, BI developers

Suggested solutions

  1. To disable per NUMA node thread pool behavior, change the value of PerNumaNode property to 0
  2. Consider adding more CPU core
  3. If you are seeing consistently high queue lengths, but not high CPU utilization you many want to adjust your MaxThreads and/or CoordinatorExecutionMode properties for your SSAS instance

Additional research

Analysis Services Thread Pool Changes in SQL Server 2012
Analysis Services 2012 Configuration settings
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