Монитор создает предупреждение, если размер очереди пула запросов для экземпляра SSAS превышает сконфигурированное пороговое значение.
Монитор создает предупреждение, когда размер очереди заданий пула запросов превышает заданное пороговое значение. Помещение в очередь может означать, что некоторые запросы могут не выполняться из-за ожидания свободного потока из пула, даже если сами задания выполняются быстро и возвращают управление.
Исчерпание доступных потоков пула запросов может возникнуть по ряду причин, включая неправильную настройку сервера, влияющую на пул или слишком большое количество обращений со стороны пользователей или запланированных заданий экземпляра.
При разрешении этого предупреждения администраторам требуется понять и учесть множество факторов, включая, но не ограничиваясь требования к рабочей нагрузке, пользователям и расписанию заданий, других запланированных процессов на сервере и имеющихся ресурсов. Действия для устранения состояния, при котором размер очереди заданий пула запросов превышает заданное пороговое значение, может включать в себя любое из следующих действий:
Изменить параметры конфигурации пула после изучения Руководства по настройке производительности многомерных служб SSAS, чтобы увеличить количество доступных потоков в пуле запросов. Не рекомендуется делать без тщательного рассмотрения и тестирования, или консультации службы поддержки корпорации Майкрософт.
Уменьшите нагрузку на экземпляр SSAS путем перенесения расписания заданий на другое время, внесения изменений в структуру базы данных, ограничения пользовательских запросов или разделения нагрузки, чтобы переместить ее часть на другие серверы.
Увеличение количество доступных потоков в пуле, увеличивая количество доступных ядер на сервере, который динамически повышает размер пула.
Настройте пороговые значения для оповещения, чтобы избежать этого состояния.
Полностью отключите монитор, если очередь заданий пула запросов не имеет значения для сервера.
Настройка свойств сервера для служб Analysis Services
Руководство по настройке производительности многомерных служб SSAS
Название | Описание | Значение по умолчанию |
Включено | Включает или отключает поток процесса | Истина |
Создает предупреждения | Определяет, создает ли рабочий процесс предупреждения | Истина |
Интервал (в секундах) | Повторяющийся интервал времени в секундах, по истечении которого запускается рабочий процесс. | 900 |
Число выборок | Состояние работоспособности изменяется, если количество нарушений порогового значения больше или равно минимальному количеству нарушений. | 4 |
Время синхронизации | Время синхронизации указывается в 24-часовом формате и может быть опущено. |
|
Пороговое значение предупреждения | Состояние работоспособности изменяется, если значение счетчика производительности служб Analysis Services превышает пороговое значение. | 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>