L'analyse vous alerte lorsque la longueur de la file d'attente des travaux du pool de traitement pour l'instance SSAS dépasse le seuil configuré.
L'analyse vous alerte lorsque la taille de la file d'attente des travaux du pool de traitement dépasse le seuil configuré. Une file d'attente peut indiquer que certaines requêtes ne sont pas exécutées du fait de l'attente d'un thread libre du pool, même si les travaux peuvent s'exécuter rapidement et retourner de leur propre chef.
L'insuffisance de threads disponibles du pool de traitement peut avoir lieu pour plusieurs raisons, y compris une configuration erronée des paramètres du serveur relatifs au pool ou une demande anormalement haute provenant des utilisateurs ou des travaux planifiés sur l'instance. Les threads utilisés pour exécuter les requêtes utilisateurs ainsi que les travaux de traitement sont tous alloués du pool de traitement. Une lourde charge de travail peut donc ajouter une tension et entraîner ce problème.
Résoudre cette alerte demande des administrateurs qu'ils comprennent et prennent en compte de nombreux facteurs comprenant, sans s'y limiter, les autres processus planifiés sur l'ordinateur serveur et les ressources disponibles. Les actions visant à remédier à ce problème lorsque la taille de la file d'attente des travaux du pool de traitement dépasse le seuil configuré peuvent comprendre une des actions suivantes :
Modifier les paramètres de configuration du pool, après avoir consulté le Guide des performances multidimensionnelles SSAS, afin d'augmenter les threads disponibles dans le pool de traitement. Cela n'est pas conseillé sans avoir recours à des essais et une réflexion très poussés ou sans consulter le support Microsoft.
Diminuer la charge de travail sur l'instance SSAS en replanifiant des travaux, en modifiant la conception de la base de données, en imposant des contraintes sur les requêtes utilisateurs ou en divisant la charge de travail afin de déplacer une partie du travail vers d'autres serveurs.
Augmenter le nombre de threads disponibles dans le pool en rehaussant le nombre de noyaux sur le serveur, ce qui augmente dynamiquement la taille du pool.
Ajuster les seuils d'alerte configurés afin d'éviter le problème.
Désactiver l'analyse entièrement si les files d'attente de travaux du pool de traitement ne sont pas un problème pour le serveur.
Configuration des propriétés du serveur dans Analysis Services
Guide des performances multidimensionnelles SSAS
Nom | Description | Valeur par défaut |
Activé | Active ou désactive le workflow | Vrai |
Génère des alertes | Définit si le workflow génère une alerte | Vrai |
Intervalle en secondes | L'intervalle de temps récurrent en secondes pendant lequel le workflow est exécuté. | 900 |
Nombre d'échantillons | L'état d'intégrité change si le nombre de dépassement de seuil est supérieur ou égal au nombre minimal de dépassements. | 4 |
Heure de synchronisation | L'heure de synchronisation spécifiée dans un format de 24 heures. Peut être omise. |
|
Seuil d'avertissement | L'état d'intégrité change si le compteur des performances Analysis Services dépasse le seuil. | 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.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/>
</Configuration>
</UnitMonitor>