Partager via


Utilisation des rapports pour analyser les performances

Mis à jour : 17 juillet 2006

Lorsque vous analysez les performances de Microsoft SQL Server Notification Services, commencez par déterminer de quelle manière une instance et ses applications fonctionnent. Pour obtenir ces informations, utilisez les rapports de capture instantané d'application et les rapports administratifs :

  • Le rapport de capture instantanée d'application est généré par la procédure stockée NSSnapshotApplications (Transact-SQL). Vous pouvez utiliser ce rapport, par exemple, pour déterminer si le générateur est en retard ou si les données sont en cours de suppression par le ramasse-miettes.
  • Le rapport administratif est généré par la procédure stockée NSAdministrationHistory (Transact-SQL). Vous pouvez utiliser ce rapport, par exemple, pour déterminer quels sont les lots de notifications qui ont échoué.

Ces rapports vous permettent de vous assurer du fonctionnement correct de vos applications. Si ce n'est pas le cas, utilisez la méthode ci-dessous pour analyser les performances médiocres.

Analyse des performances médiocres

L'analyse des applications Notification Services commence par le quantum du générateur. Le générateur constitue le cœur de Notification Services et lorsque l'instance est en cours d'exécution, il doit se déclencher selon un intervalle régulier appelé quantum. Vous spécifiez la durée d'un quantum dans le fichier de définition d'application. Le générateur utilise la durée de quantum pour déterminer la fréquence d'activation des règles définies dans le fichier de définition d'application.

Pour analyser les problèmes de performances, vous devez repérer les périodes de quantum qui ne se sont pas exécutées correctement afin de déterminer ce qui s'est passé au cours de ces quanta. Pour rechercher les quanta à analyser, obtenir des détails les concernant, puis analyser les informations d'instance et d'application, utilisez la méthode suivante.

Pour plus d'informations sur les intervalles de quantum, consultez Architecture de traitement des abonnements et Définition de la durée de quantum du générateur.

Étape 1 : Déterminez un quantum pertinent

La première étape d'analyse d'une application Notification Services consiste à identifier un ensemble de périodes de quantum pertinent. Généralement, une période de quantum pertinente en regard des performances médiocres possède une des caractéristiques suivantes :

  • L'exécution du quantum est plus longue que prévue. Ceci peut provenir de plusieurs facteurs et vous devez approfondir l'analyse de l'application pour en déterminer la cause.
  • Le quantum est marqué comme ayant échoué. Une période de quantum peut être défaillante pour plusieurs raisons, notamment parce qu'une règle ne s'est pas exécutée comme prévu.
  • Le quantum a été ignoré. Dans le but de permettre au générateur de traiter les données actuelles, vous pouvez configurer le générateur de sorte qu'il ignore les périodes de quantum, si nécessaire. Les quanta ignorés sont généralement la conséquence de périodes de quantum longues.

Pour vous aider à identifier les périodes de quantum longues, défaillantes ou ignorées, Notification Services propose les rapports de performances du quantum, de durée d'exécution du quantum, de performances échouées du quantum et de quanta ignorés.

  • Le rapport de performances du quantum classe les quanta en fonction des durées d'exécution du quantum. Ceci vous permet de déterminer la durée moyenne d'exécution des quanta. Ce rapport est généré par la procédure stockée NSQuantumPerformance (Transact-SQL).
  • Le rapport de durée d'exécution du quantum contient les quanta dont la durée d'exécution a dépassé la durée spécifiée. Vous pouvez détailler l'analyse des quanta en utilisant les ID de quantum. Ce rapport est généré par la procédure stockée NSQuantumExecutionTime (Transact-SQL).
  • Le rapport d'échecs de quantum fournit des informations sur les quanta du générateur qui ont échoué. Un quantum a échoué s'il n'a pas réussi à exécuter le traitement requis, par exemple les activations des règles. Ce rapport est généré par la procédure stockée NSQuantumFailures (Transact-SQL).
  • Le rapport des quanta ignorés fournit des informations sur les quanta ignorés du générateur. Des quanta peuvent être ignorés si le générateur prend du retard et si des limites de quantum sont définies dans le fichier de définition d'application. Ce rapport est généré par la procédure stockée NSQuantumsSkipped (Transact-SQL).

Scénario : En utilisant la procédure stockée NSQuantumPerformance , vous pouvez déterminer que l'exécution du quantum 188 a duré deux fois plus longtemps que celle des autres quanta. L'étape suivante consiste à découvrir ce qui s'est passé au cours l'exécution de ce quantum.

Étape 2 : Analysez les informations détaillées concernant le quantum

Après avoir identifié un quantum pertinent, déterminez ce qu'il s'est passé pendant le quantum. Pour obtenir des détails sur le quantum, utilisez les rapports de détails de quantum et de liste de quantum.

  • Le rapport de détails de quantum fournit des informations détaillées sur un quantum spécifique. Utilisez ce rapport pour résoudre les problèmes des quanta longs ou analyser le traitement d'un quantum. Ce rapport est généré par la procédure stockée NSQuantumDetails (Transact-SQL).
  • Le rapport de liste de quantum fournit des informations sur les quanta traités au cours d'une période spécifiée et affiche les quanta dans l'ordre de leur exécution. Ce rapport est généré par la procédure stockée NSQuantumList (Transact-SQL).

Scénario : Pour poursuivre le scénario présenté à l'étape 1, vous exécutez la procédure stockée NSQuantumDetails pour le quantum 188. Le rapport montre que l'une des activations de règles a consommé 90 pour cent de la durée du quantum. L'étape suivante consiste à consulter les lots d'événements et de notifications pour ce quantum et les autres quanta. Dans ce rapport, vous remarquez que le lot d'événements 60 et que le lot de notifications 40 ont été traités au cours de ce quantum.

Étape 3 : Analysez les données détaillées de l'application

Après avoir analysé une période de quantum, vous pouvez vérifier les événements, abonnements ou notifications spécifiques au sein du quantum. Le rapport de détails sur le lot d'événements, le rapport de détails sur les abonnements planifiés et le rapport de détails sur les lots de notification fournissent des informations détaillées sur les données de l'application.

  • Le rapport de détails sur le lot d'événements fournit des informations sur un lot d'événements spécifique pour une classe d'événements. Le rapport montre des informations résumées sur le lot d'événements, puis donne des informations sur chaque événement du lot. Ce rapport est généré par la procédure stockée NSEventBatchDetails (Transact-SQL). Utilisez la procédure stockée NSEventBatchList (Transact-SQL) pour obtenir un ID de lot d'événements.
  • Le rapport de détails sur les abonnements planifiés fournit des informations sur tous les abonnements d'une classe d'abonnement. Ce rapport est généré par la procédure stockée NSScheduledSubscriptionDetails (Transact-SQL).
  • Si vous utilisez des actions de condition, le rapport d'information de condition d'abonnement renvoie la requête utilisée pour évaluer un abonnement basé sur des conditions. Ce rapport est généré par la procédure stockée NSSubscriptionConditionInformation (Transact-SQL).
  • Le rapport de détails sur le lot de notifications fournit des informations sur un lot de notifications spécifique pour une classe de notification. Le rapport montre des informations résumées sur le lot de notifications, puis donne des informations sur chaque notification du lot. Ce rapport est généré par la procédure stockée NSNotificationBatchDetails (Transact-SQL). Utilisez la procédure stockée NSNotificationBatchList (Transact-SQL) pour obtenir les ID de lots de notifications.
  • Vous pouvez également utiliser le rapport de diagnostic ou de capture instantanée pour vérifier le détail des applications à différents niveaux.

Scénario : Pour conclure l'analyse du quantum 188, vous exécutez d'abord la procédure stockée NSEventBatchDetails pour le lot d'événements 60 et vous remarquez qu'un grand nombre d'événements ont été collectés au cours de ce quantum. En utilisant la procédure stockée NSDiagnosticEventClass, vous déterminez que ce lot d'événements possédait beaucoup plus d'événements que la plupart des classes d'événements, ce qui signifie que la durée d'exécution plus longue que la normale de ce quantum n'indique pas un problème d'application ; toutefois, il peut être nécessaire d'optimiser l'application, c'est-à-dire d'optimiser les requêtes et d'ajouter des index, afin d'améliorer les performances.

Voir aussi

Concepts

Rapports de performances de Notification Services
Surveillance des performances et de l'activité de Notification Services

Aide et Informations

Assistance sur SQL Server 2005