Der Monitor warnt, wenn die Länge der Warteschlange für Verarbeitungspoolaufträge für die SSAS-Instanz über dem konfigurierten Schwellenwert liegt.
Der Monitor warnt, wenn die Größe der Warteschlange für Verarbeitungspoolaufträ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.
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.
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 Verarbeitungspoolaufträge den konfigurierten Schwellenwert überschreitet, sind folgende Aktionen zur Problemlösung möglich:
Ändern Sie die Konfigurationseinstellungen für den Pool, um die Anzahl von verfügbaren Threads im Verarbeitungspool zu erhöhen. Lesen Sie dazu zunächst das 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.
Ändern Sie die konfigurierten Schwellenwerte für die Warnung, um die Bedingung zu vermeiden.
Deaktivieren Sie den Monitor vollständig, wenn das Queuing für Aufträge des Verarbeitungspools auf dem Server kein Problem darstellt.
Konfigurieren von Servereigenschaften in Analysis Services
TechNet-Dokumentation zu Leistungsindikatoren (SSAS)
Leitfaden zur Leistung für SSAS (mehrdimensional)
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 |
Target | Microsoft.SQLServer.2016.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.2016.AnalysisServices.MonitorType.Instance.CommonPerformanceData | ||
Remotable | True | ||
Accessibility | Public | ||
Alert Message |
| ||
RunAs | Default |
<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>