Suggerimenti per la valutazione del livello di prestazioni
Per valutare lo stato di Microsoft SQL Server Notification Services è necessario monitorare il flusso di eventi e notifiche nel sistema. Nell'ambito del monitoraggio del sistema è opportuno verificare i seguenti aspetti:
- Gli eventi arrivano e vengono raccolti dai provider di eventi. È possibile utilizzare gli strumenti di monitoraggio seguenti:
- Visualizzatore eventi di Windows
- Contatori delle prestazioni negli oggetti prestazioni Oggetto NS$instance_name: Event Providers e Oggetto NS$instance_name: Events
- Stored procedure NSEventBatchList (Transact-SQL), NSSnapshotEvents (Transact-SQL) e NSSnapshotProviders (Transact-SQL)
- Il generatore elabora tempestivamente i batch di eventi e genera le notifiche, senza che vengano saltati dei quantum. È possibile utilizzare gli strumenti di monitoraggio seguenti:
- Visualizzatore eventi
- Contatori delle prestazioni negli oggetti prestazioni Oggetto NS$instance_name: Events e Oggetto NS$instance_name: Generator
- Stored procedure NSNotificationBatchList (Transact-SQL), NSSnapshotApplications (Transact-SQL) e NSQuantumsSkipped (Transact-SQL)
- Le notifiche vengono raccolte nelle tabelle delle notifiche e il server di distribuzione gestisce la formattazione delle notifiche e il loro recapito ai canali di recapito. È possibile utilizzare gli strumenti di monitoraggio seguenti:
- Visualizzatore eventi
- Contatori delle prestazioni in Oggetto NS$instance_name: Notifications
- Stored procedure NSNotificationBatchList (Transact-SQL) e NSSnapshotDeliveryChannels (Transact-SQL)
- Il sistema di recapito esterno accetta e recapita le notifiche formattate. È possibile utilizzare gli strumenti di monitoraggio seguenti:
- Visualizzatore eventi
- Contatori delle prestazioni in Oggetto NS$instance_name: Notifications
- Stored procedure NSDiagnosticFailedNotifications (Transact-SQL)
- Il processo di rimozione dei dati (Vacuumer) viene eseguito rispettando la pianificazione impostata nel file di definizione dell'applicazione (ADF). È possibile utilizzare gli strumenti di monitoraggio seguenti:
- Visualizzatore eventi
- Contatori delle prestazioni in Oggetto NS$instance_name: Vacuumer
- Stored procedure NSSnapshotApplications (Transact-SQL)
- L'utilizzo della CPU e dei dischi è sensibilmente inferiore rispetto ai valori di capacità massima. Per ulteriori informazioni, vedere Monitoraggio dell'utilizzo della CPU e Monitoraggio dell'utilizzo del disco.
- I file di database e di log non risultano pieni. L'aumento di dimensioni automatico non viene eseguito troppo frequentemente e lo spazio in tali file non si esaurisce. Per ulteriori informazioni, vedere Oggetto Databases di SQL Server.
Se l'applicazione non funziona come previsto, vedere Risoluzione dei problemi di Notification Services.
Monitoraggio delle applicazioni di produzione
Per le applicazioni di Notification Services si alternano generalmente periodi di picco a periodi di carichi limitati, poiché i sottoscrittori richiedono tendenzialmente il recapito delle informazioni in momenti simili e i batch di eventi di grandi dimensioni spesso arrivano negli stessi orari ogni giorno. Per questo motivo è estremamente importante eseguire il monitoraggio delle applicazioni durante i periodi di picco, definire dati di riferimento per le prestazioni e quindi confrontare i dati sulle prestazioni nel tempo.
Per le applicazioni in ambienti di produzione è sempre necessario monitorare i contatori delle prestazioni più significativi e impostare un sistema di avvisi per segnalare agli operatori livelli di prestazioni insufficienti. Per l'impostazione degli avvisi, è possibile utilizzare Avvisi e registri di prestazioni, una funzionalità dello strumento Prestazioni di Microsoft Windows.
Risoluzione dei problemi relativi alle prestazioni
In presenza di problemi di prestazioni è opportuno utilizzare tutti gli strumenti disponibili per risalire alle cause. Di seguito vengono descritte alcune possibili soluzioni per i problemi correlati alle prestazioni:
- Definire gli indici appropriati per le regole (regole della cronologia degli eventi, degli eventi di sottoscrizione e di sottoscrizione pianificate) per ottimizzare l'applicazione.
- Non eseguire query nei database dell'istanza e dell'applicazione nei periodi di picco delle attività di elaborazione perché si potrebbero creare blocchi temporanei delle risorse necessarie per Notification Services.
- Verificare che le risorse della CPU siano adeguate per la distribuzione, un'attività strettamente correlata con la CPU.
- Verificare che nel server sia disponibile una larghezza di banda appropriata per i server o i servizi che gestiscono il recapito delle notifiche.
- Assicurarsi che le applicazioni siano ottimizzate per offrire le migliori prestazioni. Per ottimizzare un'applicazione può essere necessario mettere a punto numerosi elementi nel file di definizione dell'applicazione, in particolare gli elementi del nodo ApplicationExecutionSettings.
- Posizionare i file di database, i file di log e il database tempdb in tre dischi fisici distinti. Le prestazioni per la generazione delle notifiche nel sistema del database sono spesso limitate dalle risorse disco.
Per qualsiasi problema correlato alle prestazioni, è innanzitutto fondamentale isolare il problema analizzando i contatori delle prestazioni, tramite i report e verificando il registro applicazioni per esaminare gli errori che si verificano.
Vedere anche
Concetti
Scelta degli strumenti di monitoraggio
Oggetti prestazioni di Notification Services
Utilizzo di registri e avvisi per le prestazioni
Utilizzo dei report per l'analisi delle prestazioni
Specificazione delle impostazioni di esecuzione dell'applicazione
Altre risorse
Errori ed eventi di Notification Services