Il monitoraggio avvisa quando le dimensioni della coda nel pool di query per l'istanza di SSAS sono superiori alla soglia configurata.
Il monitoraggio avvisa quando le dimensioni della coda processi nel pool di query superano la soglia configurata. L'accodamento può indicare che alcune richieste non possono essere eseguite a causa dell'attesa di un thread disponibile nel pool anche se i processi potrebbero di per sé essere seguiti rapidamente e quindi restituiti.
L'esaurimento dei thread disponibili nel pool di query può verificarsi per diversi motivi, tra cui la configurazione non corretta delle impostazioni del server che influiscono sul pool o la richiesta eccessivamente elevata da parte degli utenti o dei processi pianificati nell'istanza.
Per risolvere questo avviso, è necessario che gli amministratori comprendano e valutino diversi fattori tra cui i requisiti del carico di lavoro, le pianificazioni di processi e utenti, gli altri processi pianificati sul computer server e le risorse disponibili. Per risolvere la condizione in cui la lunghezza della coda processi nel pool di query supera la soglia configurata, è possibile intraprendere una delle azioni seguenti:
Modificare le impostazioni di configurazione del pool, dopo aver consultato la Guida alle prestazioni multidimensionali di SSAS, per aumentare i thread disponibili nel pool di query. Per eseguire questa operazione è però consigliabile effettuare prima un'attenta analisi e testarne le implicazioni oppure consultare il supporto tecnico Microsoft.
Diminuire il carico di lavoro sull'istanza di SSAS ripianificando i processi, modificando la progettazione del database, limitando le query degli utenti o dividendo il carico di lavoro in modo da spostare parte del lavoro in altri server.
Aumentare il numero di thread disponibili nel pool aumentando il numero di core disponibili nel server che incrementano dinamicamente le dimensioni del pool.
Ottimizzare le soglie configurate per l'avviso in modo da evitare tale condizione.
Disabilitare completamente il monitoraggio se l'accodamento processi nel pool di query non rappresenta un problema per il server.
Configurare le proprietà del server in Analysis Services
Guida alle prestazioni multidimensionali di SSAS
Nome | Descrizione | Valore predefinito |
Abilitato | Abilita o disabilita il flusso di lavoro | True |
Genera avvisi | Definisce se il flusso di lavoro genera un avviso | True |
Intervallo (secondi) | Intervallo di tempo ricorrente in secondi in cui eseguire il flusso di lavoro. | 900 |
Numero di campioni | Lo stato di integrità cambia se il numero di violazioni di soglia è superiore o uguale al numero minimo di violazioni. | 4 |
Ora di sincronizzazione | Ora di sincronizzazione specificata usando il formato a 24 ore. Può essere omessa. |
|
Soglia avviso | Lo stato di integrità cambia se il contatore delle prestazioni di Analysis Services supera la soglia. | 0 |
Target | Microsoft.SQLServer.2008.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.2008.AnalysisServices.MonitorType.PerformanceCounterThreads | ||
Remotable | True | ||
Accessibility | Public | ||
Alert Message |
| ||
RunAs | Default |
<UnitMonitor ID="Microsoft.SQLServer.2008.AnalysisServices.UnitMonitor.Instance.QueryPoolQueueLength" Accessibility="Public" Enabled="true" Remotable="true" Priority="Normal" Target="SQLAS!Microsoft.SQLServer.2008.AnalysisServices.Instance" TypeID="Microsoft.SQLServer.2008.AnalysisServices.MonitorType.PerformanceCounterThreads" ParentMonitorID="SystemHealth!System.Health.PerformanceState" ConfirmDelivery="false">
<Category>PerformanceHealth</Category>
<AlertSettings AlertMessage="Microsoft.SQLServer.2008.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.2008.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/>
</Configuration>
</UnitMonitor>