Длина очереди пула запросов

Microsoft.SQLServer.2016.AnalysisServices.UnitMonitor.Instance.QueryPoolQueueLength (UnitMonitor)

Монитор создает предупреждение, если длина очереди для пула запросов экземпляра SSAS превышает заданное пороговое значение.

Knowledge Base article:

Сводка

Монитор создает предупреждение, когда размер очереди заданий для пула запросов превышает заданное пороговое значение. Помещение в очередь может означать, что некоторые запросы могут не выполняться из-за ожидания свободного потока из пула, даже если сами задания быстро выполняются и возвращают управление.

Причины

Исчерпание доступных потоков пула запросов может возникнуть по ряду причин, включая неправильную настройку сервера, влияющую на пул или слишком большое количество обращений со стороны пользователей или запланированных заданий экземпляра.

Решения

При разрешении этого предупреждения администраторам требуется понимать и учитывать множество факторов, в том числе требования к рабочей нагрузке, сведения о пользователях и расписания заданий, другие запланированные процессы на компьютере сервера и доступные ресурсы. Для устранения состояния, при котором длина очереди заданий пула запросов превышает заданное пороговое значение, может потребоваться любое из перечисленных ниже действий:

Внешнее

Настройка свойств сервера для служб Analysis Services

Документация TechNet по счетчикам производительности SSAS

Руководство по настройке производительности многомерных служб SSAS

Переопределяемые параметры

Название

Описание

Значение по умолчанию

Включено

Включает или отключает поток процесса

Да

Создает предупреждения

Определяет, создает ли рабочий процесс предупреждения

Да

Интервал (в секундах)

Повторяющийся интервал времени в секундах, по истечении которого запускается рабочий процесс.

900

Число выборок

Состояние работоспособности изменяется, если количество нарушений порогового значения больше или равно минимальному количеству нарушений.

4

Время синхронизации

Время синхронизации указывается в 24-часовом формате и может быть опущено.

 

Пороговое значение предупреждения

Состояние работоспособности изменяется, если значение счетчика производительности служб Analysis Services превышает пороговое значение.

0

Время ожидания (секунды)

Определяет время, в течение которого возможно выполнение рабочего процесса перед закрытием и пометкой как сбойный.

300

Element properties:

TargetMicrosoft.SQLServer.2016.AnalysisServices.Instance
Parent MonitorSystem.Health.PerformanceState
CategoryPerformanceHealth
EnabledTrue
Alert GenerateTrue
Alert SeverityWarning
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypeMicrosoft.SQLServer.2016.AnalysisServices.MonitorType.Instance.CommonPerformanceData
RemotableTrue
AccessibilityPublic
Alert Message
SSAS 2016: превышена длина очереди заданий пула запросов
Длина очереди заданий пула запросов для экземпляра SSAS {1} на компьютере {0} превышает заданное пороговое значение.
Текущая длина очереди запросов: {2}
RunAsDefault

Source Code:

<UnitMonitor ID="Microsoft.SQLServer.2016.AnalysisServices.UnitMonitor.Instance.QueryPoolQueueLength" Accessibility="Public" Enabled="true" Remotable="true" Priority="Normal" Target="SQLAS!Microsoft.SQLServer.2016.AnalysisServices.Instance" TypeID="Microsoft.SQLServer.2016.AnalysisServices.MonitorType.Instance.CommonPerformanceData" ParentMonitorID="SystemHealth!System.Health.PerformanceState" ConfirmDelivery="false">
<Category>PerformanceHealth</Category>
<AlertSettings AlertMessage="Microsoft.SQLServer.2016.AnalysisServices.UnitMonitor.Instance.QueryPoolQueueLength.AlertMessage">
<AlertOnState>Warning</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>Warning</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</AlertParameter1>
<AlertParameter2>$Target/Property[Type="SQLAS!Microsoft.SQLServer.2016.AnalysisServices.ServerRole"]/InstanceName$</AlertParameter2>
<AlertParameter3>$Data/Context/Value$</AlertParameter3>
</AlertParameters>
</AlertSettings>
<OperationalStates>
<OperationalState ID="Success" MonitorTypeStateID="Healthy" HealthState="Success"/>
<OperationalState ID="Warning" MonitorTypeStateID="Warning" HealthState="Warning"/>
</OperationalStates>
<Configuration>
<PerformanceCounterName>Query pool job queue length</PerformanceCounterName>
<CounterName>Query pool job queue length</CounterName>
<Threshold>0</Threshold>
<SampleCount>4</SampleCount>
<IntervalSeconds>900</IntervalSeconds>
<SyncTime/>
<TimeoutSeconds>300</TimeoutSeconds>
</Configuration>
</UnitMonitor>