処理プール ジョブ キューの長さ

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

このモニターは、SSAS インスタンスの処理プール ジョブ キューの長さが構成されているしきい値を超えるとアラートを生成します。

Knowledge Base article:

概要

このモニターは、処理プール ジョブ キューのサイズが、構成されたしきい値を超過するとアラートを生成します。キューに入れられるということは、ジョブそのものはすばやく実行して戻されるとしても、何らかの要求がプールからの空きスレッドを待っているために実行されていない可能性を示しています。

原因

使用可能なスレッドが処理プールから使い尽くされる状況は、いくつかの理由で発生することがあります。たとえば、サーバー設定が正しく構成されていないためにプールに影響が出ている場合や、ユーザーによる要求またはインスタンス上のスケジュール済みジョブによる要求が異常なほど高度な場合があります。ユーザー クエリに加え処理ジョブを実行するスレッドはすべて処理プールから割り当てられるので、重いワークロードがストレスを増し加え、この状態に至らせる可能性があります。

解決方法

このアラートを解決するには、ワークロードの要件、ユーザーとジョブのスケジュール、サーバー コンピューター上でスケジュールされている他のプロセス、利用可能なリソースなど (これらに限定されません)、数多くの要因を管理者が理解し、検討する必要があります。処理プール ジョブ キューのサイズが設定したしきい値を超えた状態を正すには、次のいずれかの処置が役立つことがあります。

外部資料

Analysis Services でのサーバーのプロパティの構成

SSAS パフォーマンス カウンターに関する TechNet 資料

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: 処理プールのジョブ キューの長さを超過しました。
コンピューター {0} 上の SSAS インスタンス {1} の処理プール ジョブ キューの長さが、構成されているしきい値を超えています。
現在のジョブ キューの長さ: {2}
RunAsDefault

Source Code:

<UnitMonitor ID="Microsoft.SQLServer.2016.AnalysisServices.UnitMonitor.Instance.ProcessingPoolJobQueueLength" Accessibility="Public" Enabled="true" Target="SQLAS!Microsoft.SQLServer.2016.AnalysisServices.Instance" ParentMonitorID="SystemHealth!System.Health.PerformanceState" Remotable="true" Priority="Normal" TypeID="Microsoft.SQLServer.2016.AnalysisServices.MonitorType.Instance.CommonPerformanceData" ConfirmDelivery="false">
<Category>PerformanceHealth</Category>
<AlertSettings AlertMessage="Microsoft.SQLServer.2016.AnalysisServices.UnitMonitor.Instance.ProcessingPoolJobQueueLength.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>Processing pool job queue length</PerformanceCounterName>
<CounterName>Processing pool job queue length</CounterName>
<Threshold>0</Threshold>
<SampleCount>4</SampleCount>
<IntervalSeconds>900</IntervalSeconds>
<SyncTime/>
<TimeoutSeconds>300</TimeoutSeconds>
</Configuration>
</UnitMonitor>