La surveillance vous alerte quand la taille de la file d'attente du pool de requêtes pour l'instance SSAS dépasse le seuil configuré.
La surveillance vous alerte quand la taille de la file d'attente des travaux du pool de requêtes dépasse le seuil configuré. La mise en file d'attente peut indiquer que certaines requêtes ne sont pas exécutées en raison de l'attente d'un thread libre du pool, même si les travaux peuvent s'exécuter et être retournés rapidement.
L'insuffisance des threads disponibles du pool de requêtes peut prendre place pour de nombreuses 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.
La résolution de cette alerte nécessite de la part des administrateurs qu'ils comprennent et prennent en compte de nombreux facteurs, notamment les exigences de charge de travail, les planifications des utilisateurs et des travaux, les planifications des autres processus sur le serveur et les ressources disponibles. Les actions visant à remédier à ce problème quand la longueur de la file d'attente des travaux du pool de requêtes dépasse le seuil configuré peuvent inclure les actions suivantes :
Modifiez les paramètres de configuration du pool, après avoir consulté le Guide des performances multidimensionnelles SSAS pour augmenter les threads disponibles dans le pool de requêtes. Il est fortement conseillé de procéder à des tests et de mener une réflexion très poussée, ou de consulter le Support Microsoft.
Réduisez la charge de travail sur l'instance SSAS en replanifiant les travaux, en modifiant la conception de la base de données, en imposant des contraintes aux requêtes utilisateur ou en divisant la charge de travail pour 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ésactivez entièrement la surveillance, si les files d'attente de travaux du pool de requêtes ne sont pas un problème pour le serveur.
Configurer les 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 | Oui |
Génère des alertes | Définit si le workflow génère une alerte | Oui |
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 de performances Analysis Services dépasse le seuil. | 0 |
Délai d'attente (secondes) | Spécifie la durée pendant laquelle le workflow est autorisé à être exécuté avant d'être fermé et marqué comme un échec. | 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.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/>
<TimeoutSeconds>300</TimeoutSeconds>
</Configuration>
</UnitMonitor>