Warteschlangenlänge für Verarbeitungspool-E/A-Aufträge

Microsoft.SQLServer.2012.AnalysisServices.UnitMonitor.Instance.ProcessingPoolIOJobQueueLength (UnitMonitor)

Der Monitor warnt, wenn die Länge der Warteschlange für Verarbeitungspool-E/A-Aufträge für die SSAS-Instanz über dem konfigurierten Schwellenwert liegt.

Knowledge Base article:

Zusammenfassung

Der Monitor warnt, wenn die Größe der Warteschlange für Verarbeitungspool-E/A-Aufträge den konfigurierten Schwellenwert überschreitet. Queuing kann darauf hinweisen, dass einige Anfragen eventuell nicht ausgeführt werden, weil auf einen freien Thread aus dem Pool gewartet wird, auch wenn die Aufträge selbst schnell ausgeführt und zurückgegeben werden. Eine Warteschlange für den E/A-Auftragspool zeigt an, dass auf dem Server ein E/A-Engpass besteht.

Ursachen

Die Auslastung der verfügbaren Threads aus dem Verarbeitungspool kann mehrere Ursachen haben wie z. B. eine Fehlkonfiguration der Servereinstellungen mit Auswirkungen auf den Pool oder außergewöhnlich hohe Anforderungen an die Instanz durch Benutzer oder geplante Aufträge. Sowohl die Threads zum Ausführen von Benutzerabfragen als auch die Verarbeitungsaufträge werden aus dem Verarbeitungspool zugeordnet, sodass eine hohe Arbeitsauslastung zu zusätzlicher Belastung führen kann, die diese Bedingung herbeiführt.

Lösungen

Um diese Warnung auflösen zu können, müssen Administratoren zahlreiche Faktoren kennen und berücksichtigen, darunter u. a. Arbeitsauslastungsanforderungen, Benutzer- und Auftragsplanungen, andere geplante Prozesse auf dem Servercomputer und die verfügbaren Ressourcen. Wenn die Länge der Warteschlange für Verarbeitungspool-E/A-Aufträge den konfigurierten Schwellenwert überschreitet, sind folgende Aktionen zur Problemlösung möglich:

Extern

Konfigurieren von Servereigenschaften in Analysis Services

TechNet-Dokumentation zu Leistungsindikatoren (SSAS)

Leitfaden zur Leistung für SSAS (mehrdimensional)

Parameter, die außer Kraft gesetzt werden können

Name

Beschreibung

Standardwert

Aktiviert

Aktiviert oder deaktiviert den Workflow

Ja

Generiert Warnungen

Definiert, ob der Workflow eine Warnung generiert

Ja

Intervall (Sekunden)

Das periodische Intervall in Sekunden, in dem der Workflow ausgeführt werden soll.

900

Anzahl der Stichproben

Der Integritätsstatus ändert sich, wenn die Anzahl von Schwellenwertverletzungen höher als die Mindestanzahl von Verletzungen ist oder dieser entspricht.

4

Synchronisierungszeit

Die in einem 24-Stunden-Format angegebene Synchronisierungszeit. Kann ausgelassen werden.

 

Warnungsschwellenwert

Der Integritätsstatus ändert sich, wenn der Analysis Services-Leistungsindikator den Schwellenwert überschreitet.

0

Timeout (Sekunden)

Gibt die Zeit an, die der Workflow ausgeführt werden darf, bevor er geschlossen und als fehlgeschlagen markiert wird.

300

Element properties:

TargetMicrosoft.SQLServer.2012.AnalysisServices.Instance
Parent MonitorSystem.Health.PerformanceState
CategoryPerformanceHealth
EnabledTrue
Alert GenerateTrue
Alert SeverityWarning
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypeMicrosoft.SQLServer.2012.AnalysisServices.MonitorType.Instance.CommonPerformanceData
RemotableTrue
AccessibilityPublic
Alert Message
SSAS 2012: Warteschlangenlänge für Verarbeitungspool-E/A-Aufträge überschritten.
Die Länge der Warteschlange für Verarbeitungspool-E/A-Aufträge für die SSAS-Instanz "{1}" auf dem Computer "{0}" überschreitet den konfigurierten Schwellenwert.
Aktuelle Länge der Auftragswarteschlange: {2}
RunAsDefault

Source Code:

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