Монитор создает предупреждение, если длина очереди для пула запросов экземпляра SSAS превышает заданное пороговое значение.
Монитор создает предупреждение, когда размер очереди заданий для пула запросов превышает заданное пороговое значение. Помещение в очередь может означать, что некоторые запросы могут не выполняться из-за ожидания свободного потока из пула, даже если сами задания быстро выполняются и возвращают управление.
Исчерпание доступных потоков пула запросов может возникнуть по ряду причин, включая неправильную настройку сервера, влияющую на пул или слишком большое количество обращений со стороны пользователей или запланированных заданий экземпляра.
При разрешении этого предупреждения администраторам требуется понимать и учитывать множество факторов, в том числе требования к рабочей нагрузке, сведения о пользователях и расписания заданий, другие запланированные процессы на компьютере сервера и доступные ресурсы. Для устранения состояния, при котором длина очереди заданий пула запросов превышает заданное пороговое значение, может потребоваться любое из перечисленных ниже действий:
Измените параметры конфигурации пула после изучения руководства по настройке производительности многомерных служб SSAS, чтобы увеличить количество доступных потоков в пуле запросов. Делайте это только после тщательного анализа и тестирования или после консультирования со службой поддержки корпорации Майкрософт.
Уменьшите нагрузку на экземпляр SSAS путем переноса заданий на другое время, изменения структуры базы данных, ограничения пользовательских запросов или переноса части рабочей нагрузки на другие серверы.
Увеличение количество доступных потоков в пуле, увеличивая количество доступных ядер на сервере, который динамически повышает размер пула.
Настройте пороговые значения для оповещения, чтобы избежать этого состояния.
Полностью отключите монитор, если очередь заданий пула запросов не имеет значения для сервера.
Настройка свойств сервера для служб Analysis Services
Документация TechNet по счетчикам производительности SSAS
Руководство по настройке производительности многомерных служб SSAS
Название | Описание | Значение по умолчанию |
Включено | Включает или отключает поток процесса | Да |
Создает предупреждения | Определяет, создает ли рабочий процесс предупреждения | Да |
Интервал (в секундах) | Повторяющийся интервал времени в секундах, по истечении которого запускается рабочий процесс. | 900 |
Число выборок | Состояние работоспособности изменяется, если количество нарушений порогового значения больше или равно минимальному количеству нарушений. | 4 |
Время синхронизации | Время синхронизации указывается в 24-часовом формате и может быть опущено. |
|
Пороговое значение предупреждения | Состояние работоспособности изменяется, если значение счетчика производительности служб Analysis Services превышает пороговое значение. | 0 |
Время ожидания (секунды) | Определяет время, в течение которого возможно выполнение рабочего процесса перед закрытием и пометкой как сбойный. | 300 |
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.QueryPoolQueueLength" 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.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.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>Query pool job queue length</PerformanceCounterName>
<CounterName>Query pool job queue length</CounterName>
<Threshold>0</Threshold>
<SampleCount>4</SampleCount>
<IntervalSeconds>900</IntervalSeconds>
<SyncTime/>
<TimeoutSeconds>300</TimeoutSeconds>
</Configuration>
</UnitMonitor>