Der Monitor gibt eine Warnung aus, wenn die Länge der Verarbeitungspool-EA-Auftrags-Warteschlange für die SSAS-Instanz den konfigurierten Schwellenwert überschreitet.
Der Monitor gibt eine Warnung aus, wenn die Größe der Verarbeitungspool-E/A-Warteschlange den konfigurierten Schwellenwert überschreitet. Das Queuing kann anzeigen, 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. Das Queuing des EA-Auftragspools zeigt an, dass auf dem Server ein E/A-Engpass existiert.
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 hohe Arbeitsauslastung zu zusätzlicher Belastung führen kann, die diese Bedingung herbeiführt.
Um diese Warnung auflösen zu können, müssen Administratoren verschiedene Faktoren verstehen 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 Verarbeitungspool-E/A-Warteschlange den konfigurierten Schwellenwert überschreitet, sind folgende Aktionen zur Problemlösung möglich:
Ändern Sie die Konfigurationseinstellungen für den Pool, um die Anzahl der verfügbaren Threads im Verarbeitungspool zu erhöhen. Lesen Sie dazu zunächst den SSAS Multidimensional Performance Guide (Handbuch zur Leistung mehrdimensionaler SSAS-Datenbanken). Diese Vorgehensweise ist nicht empfehlenswert, sofern sie nicht gründlich überlegt und getestet wurde. Wenden Sie sich ggf. an den Microsoft-Support.
Verringern Sie die Arbeitsauslastung der SSAS-Instanz, indem Sie Aufträge neu planen, den Entwurf der Datenbank ändern, Benutzerabfragen einschränken oder einen Teil der Arbeitsauslastung auf andere Server verlagern.
Erhöhen Sie die Anzahl der verfügbaren Threads im Pool, indem Sie die Anzahl der Kerne auf dem Server erhöhen. Der Pool wird dadurch dynamisch vergrößert.
Erhöhung der E/A-Leistung auf dem Server durch Verbesserung der E/A-Spezifikationen (Laufwerk oder eventuell Netzwerk) oder erneute Konfiguration der Arbeitsauslastung, um diese zwischen mehreren Geräten aufzuteilen.
Ändern Sie die konfigurierten Schwellenwerte für die Warnung, um die Bedingung zu vermeiden.
Komplette Deaktivierung des Monitors, wenn das Verarbeitungspool-EA-Queuing kein Problem auf dem Server ist.
Konfigurieren von Servereigenschaften in Analysis Services
TechNet-Dokumentation zu Leistungsindikatoren (SSAS)
Leistungshandbuch für SSAS (mehrdimensional)
Name | Beschreibung | Standardwert |
Aktiviert | Aktiviert oder deaktiviert den Workflow | True (wahr) |
Generiert Warnungen | Definiert, ob der Workflow eine Warnung generiert | True (wahr) |
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 der Schwellenwertverletzungen höher als die Mindestanzahl der Verletzungen oder gleich der Mindestanzahl der Verletzungen ist. | 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 |
Target | Microsoft.SQLServer.2012.AnalysisServices.Instance | ||
Parent Monitor | System.Health.PerformanceState | ||
Category | PerformanceHealth | ||
Enabled | True | ||
Alert Generate | True | ||
Alert Severity | Warning | ||
Alert Priority | Normal | ||
Alert Auto Resolve | True | ||
Monitor Type | Microsoft.SQLServer.2012.AnalysisServices.MonitorType.Instance.CommonPerformanceData | ||
Remotable | True | ||
Accessibility | Public | ||
Alert Message |
| ||
RunAs | Default |
<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/>
</Configuration>
</UnitMonitor>