Condividi tramite


Utilizzo dei report per l'analisi delle prestazioni

Data aggiornamento: 17 luglio 2006

Per analizzare le prestazioni di Microsoft SQL Server Notification Services, è necessario iniziare con la valutazione delle prestazioni di un'istanza e delle relative applicazioni. Per ottenere queste informazioni, è possibile utilizzare il report snapshot delle applicazioni e il report amministrativo.

  • Il report snapshot delle applicazioni viene creato tramite la stored procedure NSSnapshotApplications (Transact-SQL). Questo report può essere utilizzato, ad esempio, per verificare se il generatore è in ritardo rispetto alla pianificazione oppure se il componente Vacuumer sta eseguendo la rimozione dei dati.
  • Il report amministrativo viene creato tramite la stored procedure NSAdministrationHistory (Transact-SQL). Questo report può essere utilizzato, ad esempio, per individuare i batch di notifiche non riusciti.

Questi report risultano utili per stabilire se le prestazioni delle applicazioni corrispondono alle aspettative. Se il livello di prestazioni non è conforme alle previsioni, è possibile avvalersi della metodologia di analisi descritta di seguito.

Analisi di un livello di prestazioni insufficiente

Le attività di analisi delle applicazioni di Notification Services iniziano dal quantum del generatore. Il generatore è il nucleo di Notification Services e, quando l'istanza è in esecuzione, deve essere attivato in base a un intervallo di tempo regolare definito quantum. La durata di un quantum viene specificata nel file di definizione dell'applicazione (ADF). Il generatore utilizza il quantum per determinare la frequenza di attivazione delle regole definite nel file ADF.

Per analizzare i problemi di prestazioni, è in genere necessario individuare i periodi di quantum non completati come previsto e quindi risalire alle cause dei problemi verificatisi durante tali periodi. Utilizzare il metodo descritto di seguito per individuare i quantum da analizzare, ottenere i dettagli relativi a tali quantum e quindi analizzare i dettagli relativi all'istanza e all'applicazione.

Per ulteriori informazioni sui periodi di quantum, vedere Architettura dell'elaborazione delle sottoscrizioni e Specificazione della durata dei quantum del generatore.

Passaggio 1: individuazione dei quantum di interesse

Il primo passaggio per l'analisi di un'applicazione di Notification Services consiste nell'identificare un gruppo di periodi di quantum pertinenti. Un periodo di quantum pertinente, nell'ottica dell'individuazione delle cause di un livello di prestazioni insufficiente, presenta in genere le seguenti caratteristiche:

  • I tempi di esecuzione del quantum sono maggiori del previsto. I fattori determinanti possono essere diversi ed è quindi necessario analizzare ulteriormente l'applicazione per risalire alla causa.
  • Il quantum è contrassegnato come non riuscito. Gli errori correlati ai periodi di quantum possono essere causati da varie circostanze, ad esempio una regola non eseguita secondo la pianificazione.
  • Il quantum è stato saltato. Per consentire al generatore di continuare a elaborare i dati correnti, è possibile configurarlo in modo che salti i periodi di quantum all'occorrenza. I quantum saltati sono in genere una conseguenza di periodi di quantum a esecuzione prolungata.

Per agevolare l'individuazione dei periodi di quantum a esecuzione prolungata, non riusciti o saltati, in Notification Services sono disponibili i report delle prestazioni dei quantum, dei tempi di esecuzione dei quantum, degli errori dei quantum e dei quantum saltati.

  • Nel report delle prestazioni dei quantum i quantum vengono suddivisi in categorie in base ai tempi di esecuzione. Queste informazioni risultano utili per determinare i tempi di esecuzione generali dei quantum. Questo report viene creato dalla stored procedure NSQuantumPerformance (Transact-SQL).
  • Il report dei tempi di esecuzione dei quantum include i quantum con tempi di esecuzione superiori a un periodo specificato. Tramite gli ID dei quantum è quindi possibile analizzare i singoli quantum in maggiore dettaglio. Questo report viene creato dalla stored procedure NSQuantumExecutionTime (Transact-SQL).
  • Il report degli errori dei quantum include informazioni sui quantum del generatore non riusciti. Un quantum viene definito non riuscito se non è in grado di completare le elaborazioni richieste, ad esempio l'esecuzione di regole. Questo report viene creato dalla stored procedure NSQuantumFailures (Transact-SQL).
  • Il report dei quantum saltati include informazioni sui quantum del generatore saltati. È possibile che alcuni quantum vengano saltati se il generatore non riesce a far fronte al carico di lavoro e se sono previsti limiti per i quantum nel file ADF. Questo report viene creato dalla stored procedure NSQuantumsSkipped (Transact-SQL).

Scenario: tramite la stored procedure NSQuantumPerformance si scopre che il tempo di esecuzione del quantum 188 è doppio rispetto a quello di tutti gli altri quantum. Nel passaggio successivo viene descritta la procedura per l'individuazione dei problemi verificatisi durante tale quantum.

Passaggio 2: analisi delle informazioni dettagliate sui quantum

Dopo avere individuato un quantum di interesse, è necessario determinare che cosa è accaduto durante tale quantum. Per ottenere informazioni dettagliate sul quantum, è possibile utilizzare il report dei dettagli del quantum e il report elenco dei quantum.

  • Il report dei dettagli del quantum include informazioni dettagliate su un quantum specifico. Utilizzare questo report per la risoluzione dei problemi relativi a tempi di esecuzione prolungati dei quantum o per analizzare l'elaborazione dei quantum. Questo report viene creato dalla stored procedure NSQuantumDetails (Transact-SQL).
  • Il report elenco dei quantum include informazioni sui quantum elaborati durante un periodo di tempo specifico e visualizza i quantum nell'ordine di esecuzione. Questo report viene creato dalla stored procedure NSQuantumList (Transact-SQL).

Scenario: proseguendo con l'esempio presentato nel passaggio 1, si esegue la stored procedure NSQuantumDetails per il quantum 188. Esaminando il report, si scopre che una delle esecuzioni di regole ha assorbito il 90% del tempo del quantum. Il passaggio successivo consiste nell'analizzare i batch di eventi e notifiche per questo e altri quantum. Tramite il report è possibile appurare che durante il quantum in oggetto sono stati elaborati il batch di eventi 60 e il batch di notifiche 40.

Passaggio 3: analisi di dati dettagliati relativi all'applicazione

Dopo aver analizzato un periodo di quantum, è possibile concentrarsi sugli eventi, le sottoscrizioni o le notifiche specifiche incluse nel quantum. I report dei dettagli per i batch di eventi, le sottoscrizioni pianificate e i batch di notifiche offrono informazioni dettagliate sui dati dell'applicazione.

  • Il reportdei dettagli del batch di eventi include informazioni su uno specifico batch di eventi per una classe di evento. In questo report sono disponibili informazioni di riepilogo sul batch di eventi, nonché informazioni su ogni evento del batch. Questo report viene creato dalla stored procedure NSEventBatchDetails (Transact-SQL). Utilizzare la stored procedure NSEventBatchList (Transact-SQL) per ottenere gli ID dei batch di eventi.
  • Il reportdei dettagli delle sottoscrizioni pianificate include informazioni su tutte le sottoscrizioni in una classe di sottoscrizione. Questo report viene creato dalla stored procedure NSScheduledSubscriptionDetails (Transact-SQL).
  • Se si utilizzano le azioni condizionali, il report delle informazioni relative alle condizioni delle sottoscrizioni restituisce la query utilizzata per valutare una sottoscrizione basata su condizioni. Questo report viene creato dalla stored procedure NSSubscriptionConditionInformation (Transact-SQL).
  • Il report dei dettagli del batch di notifiche include informazioni su uno specifico batch di notifiche per una classe di notifica. In questo report sono disponibili informazioni di riepilogo sul batch di notifiche, nonché informazioni su ogni notifica del batch. Questo report viene creato dalla stored procedure NSNotificationBatchDetails (Transact-SQL). Utilizzare la stored procedure NSNotificationBatchList (Transact-SQL) per ottenere gli ID dei batch di notifiche.
  • È inoltre possibile utilizzare i vari reportdiagnostici o snapshot per analizzare le applicazioni a vari livelli di dettaglio.

Scenario: per completare l'analisi del quantum 188, si esegue innanzitutto la stored procedure NSNotificationBatchDetails per il batch di eventi 60 e si scopre che durante questo quantum è stato raccolto un numero elevato di eventi. Tramite NSDiagnosticEventClass si appura che questo batch di eventi include un numero di eventi sostanzialmente maggiore rispetto alla maggior parte delle classi di evento. Ciò significa che un tempo di esecuzione del quantum maggiore del normale non è indicativo di un problema dell'applicazione ma che potrebbero essere necessari interventi di ottimizzazione dell'applicazione, ad esempio ottimizzazione delle query e aggiunta di indici, per ottenere un miglioramento delle prestazioni.

Vedere anche

Concetti

Report sulle prestazioni di Notification Services
Monitoraggio delle prestazioni e dell'attività di Notification Services

Guida in linea e informazioni

Assistenza su SQL Server 2005