O monitor alertará quando o comprimento da fila de trabalho do pool de processamento para a instância do SSAS for maior do que o limite configurado.
O monitor alertará quando o tamanho da fila de trabalho do pool de processamento exceder o limite configurado. Colocar em fila pode indicar que algumas solicitações não podem ser executadas devido à espera por um thread livre do pool, mesmo que os trabalhos sejam executados e retornados rapidamente.
O esgotamento dos threads disponíveis do pool de processamento pode ocorrer por vários motivos, incluindo a definição incorreta das configurações do servidor afetando o pool ou a demanda anormalmente alta de usuários ou trabalhos agendados na instância. Os threads para executar as consultas do usuário, assim como os trabalhos de processamento, são alocados do pool de processamento; assim, uma carga de trabalho pesada pode adicionar estresse, levando a essa condição.
Resolver esse alerta exige que os administradores compreendam e considerem vários fatores, incluindo, mas não se limitando, a requisitos da carga de trabalho, programações do usuário e de trabalho, outros processos agendados no computador servidor e os recursos disponíveis. As ações para solucionar a condição quando o tamanho da fila de trabalho do pool de processamento excede o limite configurado podem incluir várias das seguintes ações:
Modifique as definições da configuração do pool depois de consultar o Guia de Desempenho Multidimensional do SSAS para aumentar os threads disponíveis no pool de processamento. Isso não é aconselhável sem uma consideração muito cuidadosa e teste ou consultoria do Suporte da Microsoft.
Diminua a carga de trabalho na instância do SSAS ao reagendar trabalhos, modificar o design do banco de dados, restringir as consultas do usuário ou dividir a carga de trabalho para mover alguns trabalhos para outros servidores.
Aumente o número de threads disponíveis no pool aumentando o número de núcleos disponíveis no servidor, que aumenta dinamicamente o tamanho do pool.
Ajuste os limites configurados para o alerta para evitar a condição.
Desabilite totalmente o monitor se a fila do trabalho do pool de processamento não for uma preocupação no servidor.
Configurar propriedades do servidor no Analysis Services
Guia de Desempenho Multidimensional do SSAS
Nome | Descrição | Valor padrão |
Habilitado | Habilita ou desabilita o fluxo de trabalho | Sim |
Gerar Alertas | Define se o fluxo de trabalho gera um Alerta | Sim |
Intervalo em Segundos | O intervalo de tempo recorrente em segundos no qual executa-se o fluxo de trabalho. | 900 |
Número de amostras | O Estado da Integridade mudará se o número de violações do limite for maior ou igual ao Número Mínimo de Violações. | 4 |
Hora da Sincronização | A hora da sincronização especificada usando um formato de 24 horas. Pode ser omitido. |
|
Limite de Aviso | O Estado de Integridade mudará se o contador de desempenho do Analysis Services exceder o limite. | 0 |
Tempo limite (segundos) | Especifica o tempo que o fluxo de trabalho pode funcionar antes de ser fechado e marcado como com falha. | 300 |
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.ProcessingPoolJobQueueLength" Accessibility="Public" Enabled="true" Target="SQLAS!Microsoft.SQLServer.2008.AnalysisServices.Instance" ParentMonitorID="SystemHealth!System.Health.PerformanceState" Remotable="true" Priority="Normal" TypeID="Microsoft.SQLServer.2008.AnalysisServices.MonitorType.PerformanceCounterThreads" ConfirmDelivery="false">
<Category>PerformanceHealth</Category>
<AlertSettings AlertMessage="Microsoft.SQLServer.2008.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.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>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>