Domini applicazione per applicazioni del server di report

In Reporting Services il server di report viene implementato come un unico servizio che contiene il servizio Web ReportServer, Gestione report e un'applicazione di elaborazione in background. Ogni applicazione viene eseguita nel proprio dominio all'interno del singolo processo del server di report. Solitamente, i domini applicazione vengono creati, configurati e gestiti internamente. Tuttavia la conoscenza del modo in cui vengono eseguite le operazioni di riciclo per i domini applicazione del server di report può risultare utile per ottenere prestazioni elevate, per ricercare problemi di memoria o per risolvere interruzioni del servizio.

Nota

Se si configura l'accesso a Generatore report in un server di report che utilizza l'autenticazione di base, Generatore report verrà eseguito nel proprio dominio applicazione. Questo dominio applicazione è diverso da altri domini applicazione eseguiti nel processo server. Viene gestito dal Controller servizi e non è soggetto a caratteristiche di gestione della memoria che rimodificano l'allocazione della memoria in risposta a richieste di memoria sul server di report.

Nell'elenco seguente vengono descritti gli eventi che provocano le operazioni di riciclo del dominio applicazione per applicazioni Reporting Services:

  • Operazioni di riciclo pianificate eseguite a intervalli predefiniti.

  • Modifiche alla configurazione sul server di report.

  • Modifiche alla configurazione ASP.NET.

  • Errori di allocazione di memoria.

Nella tabella seguente viene riepilogato il comportamento del riciclo del dominio applicazione in risposta a questi eventi:

Event Descrizione dell'evento Si applica a Configurabile Descrizione dell'operazione di riciclo
Operazioni di riciclo pianificate eseguite a intervalli predefiniti Per impostazione predefinita, i domini applicazione vengono riciclati ogni 12 ore.

Le operazioni di riciclo pianificate vengono in genere usate per applicazioni ASP.NET che promuovono l'integrità complessiva del processo.
Servizio Web ReportServer

Gestione report

Applicazione di elaborazione in background
Sì. L'impostazione di configurazioneRecycleTime nel file RSReportServer.config determina l'intervallo di riciclo.

MaxAppDomainUnloadTime consente di impostare il tempo di attesa durante il quale è possibile completare l'elaborazione in background.
ASP.NET gestisce l'operazione di riciclo per il servizio Web e Gestione report.

Per l'applicazione di elaborazione in background, il server di report crea un nuovo dominio applicazione per i nuovi processi avviati in base alle pianificazioni. I processi già in corso possono essere completati nel dominio applicazione corrente entro la scadenza del tempo di attesa.
Modifiche alla configurazione sul server di report Reporting Services ricicla i domini applicazione in risposta alle modifiche apportate al file RSReportServer.config. Servizio Web ReportServer

Gestione report

Applicazione di elaborazione in background
No. Non è possibile arrestare le operazioni di riciclo. Tuttavia, le operazioni di riciclo eseguite in risposta alle modifiche alla configurazione vengono gestite in modo analogo alle operazioni di riciclo pianificate. Per le nuove richieste vengono creati nuovi domini applicazione, mentre le richieste e i processi in corso vengono completati nel dominio applicazione corrente.
Modifiche alla configurazione ASP.NET ASP.NET ricicla i domini applicazione se vengono apportate modifiche ai file monitorati, ad esempio i file machine.config e Web.config e i file di programma ASP.NET. Servizio Web ReportServer

Gestione report
No. ASP.NET gestisce l'operazione.

ASP.NET avvia operazioni di riciclo che non influiscono sul dominio dell'applicazione di elaborazione in background.
Utilizzo della memoria ed errori di allocazione di memoria Il CLR di SQL Server ricicla i domini applicazione in caso di errore di allocazione della memoria o quando il server si trova in condizioni di utilizzo elevato di memoria. Servizio Web ReportServer

Gestione report

Applicazione di elaborazione in background
No. In condizioni di utilizzo alto della memoria, il server di report non accetta nuove richieste nel dominio applicazione corrente. Durante il periodo in cui il server rifiuta nuove richieste, si verifica l'errore HTTP 503. Non viene creato alcun nuovo dominio applicazione fino a quando quello obsoleto non viene scaricato. Se si apporta una modifica al file di configurazione in condizioni di utilizzo alto della memoria da parte del server, richieste e processi in corso potrebbero non essere avviati. Inoltre, potrebbero non essere completate come previsto.

Se si verifica un errore di allocazione di memoria, tutti i domini applicazione vengono riavviati immediatamente. I processi e le richieste in corso vengono eliminati. ed è necessario riavviarli manualmente.

Operazioni di riciclo pianificate e non pianificate

Le operazioni di riciclo vengono pianificate o meno in base alle condizioni che determinano l'operazione:

  • Le operazioni di riciclo pianificate vengono eseguite a intervalli regolari definiti nel file RSReportServer.config. Il valore predefinito è ogni 12 ore. Questa impostazione è una pratica comune per le applicazioni ASP.NET che promuovono l'integrità generale dei processi. Per le operazioni di riciclo pianificate, nel server di report vengono creati domini applicazione aggiuntivi per le nuove richieste. Le richieste già in corso possono essere completate nel dominio applicazione corrente entro la scadenza del tempo di attesa. Le impostazioni di configurazione che controllano le operazioni di riciclo pianificate vengono specificate complessivamente per il server. Non è possibile configurare una pianificazione per il riciclo o una soglia di memoria diversa per ogni applicazione.

  • Le operazioni di riciclo non pianificate vengono eseguite a ore arbitrarie in risposta a modifiche alla configurazione, utilizzo della memoria ed errori di allocazione di memoria:

    • Nel caso di modifiche alla configurazione, il server di report tenta di utilizzare un riciclo leggero che reindirizza le nuove richieste a una nuova istanza del dominio applicazione. Se non è possibile eseguire il riciclo leggero in modo corretto, viene avviato un riciclo hardware del dominio applicazione che annulla tutte le richieste in corso, chiude i domini applicazione correnti e successivamente riavvia nuovi domini applicazione.

    • Gli errori di allocazione di memoria indicano che le risorse di sistema sono insufficienti per la quantità di elaborazione di report eseguita dal server. Se si verifica un errore di allocazione di memoria, viene eseguita un'operazione di riciclo pesante per tutti i domini applicazione. Tutte le code di richieste vengono cancellate. Le richieste annullate non vengono riavviate. Se era in corso la visualizzazione interattiva di un report da parte di un utente, è necessario aggiornare o riaprire il report. L'elaborazione pianificata viene eseguita all'ora prevista successiva. Se il ritardo non è accettabile, è possibile aggiornare manualmente uno snapshot del report o modificare una pianificazione della sottoscrizione o dello snapshot del report in modo che venga eseguito immediatamente.

I domini applicazione per il servizio Web ReportServer, Gestione report e l'applicazione di elaborazione in background potrebbero essere riciclati contemporaneamente o individualmente, in base alle circostanze che determinano il verificarsi del riciclo:

  • Le operazioni di riciclo avviate da ASP.NET interessano solo le applicazioni ASP.NET di Reporting Services: servizio Web ReportServer e Gestione report. ASP.NET ricicla i domini applicazione in base alle modifiche apportate ai file monitorati. ASP.NET avvia operazioni di riciclo che in genere sono indipendenti dalle operazioni di riciclo per l'applicazione di elaborazione in background.

  • Le operazioni di riciclo avviate dal server di report influiscono in genere sul servizio Web ReportServer, su Gestione report e sull'applicazione di elaborazione in background. Le operazioni di riciclo vengono eseguite in risposta alle modifiche alle impostazioni di configurazione e ai riavvii del servizio.

Impostazioni di configurazione RSReportServer per i domini applicazione

Le impostazioni di configurazione sono specificate nel file RSReportServer.config. Nell'esempio seguente vengono illustrate le impostazioni di configurazione predefinite per il riciclo del dominio applicazione pianificato.

<RecycleTime>720</RecycleTime>

<MaxAppDomainUnloadTime>30</MaxAppDomainUnloadTime>

Nella tabella seguente vengono descritti questi elementi.

Elemento Si applica a Definizione
RecycleTime Tutti e tre i domini applicazione di Reporting Services Specifica la frequenza di riciclo dei domini applicazione. La pianificazione predefinita per il riciclo è conforme al modello di 12 ore seguito in genere per il riciclo dei domini applicazione di ASP.NET. All'ora pianificata, tutte le nuove richieste vengono inoltrate a una nuova istanza del dominio applicazione. Le richieste attualmente in corso nell'istanza originale possono proseguire fino al loro completamento. Dopo che tutti i processi sono stati completati, l'istanza originale viene eliminata e la nuova istanza diviene l'unica istanza del dominio applicazione attiva.

Il valore predefinito è 720 minuti.
MaxAppDomainUnloadTime Solo dominio applicazione dell'elaborazione in background Per impostazione predefinita, in un server di report viene allocato un tempo di attesa di 30 minuti durante il quale un dominio applicazione può essere arrestato nel corso di un'operazione di riciclo.
Se i processi attualmente in corso non possono essere completati entro il tempo assegnato, l'istanza del dominio applicazione viene riavviata immediatamente. Analogamente, se un processo supera il tempo di attesa specificato, anche l'istanza del dominio applicazione viene riavviata tempestivamente. Tutti i processi non completati vengono terminati.

Per altre informazioni su come visualizzare lo stato o annullare i processi in esecuzione nel server di report, vedere Annullare processi del server di report (Management Studio).

Nota

Anche se il servizio Web ReportServer e Gestione report sono applicazioni ASP.NET, nessuna delle due applicazioni risponde al riciclo pianificato del dominio applicazione che potrebbe essere specificato in machine.config per applicazioni ASP.NET ospitate in IIS.

File di configurazione RsReportServer.config
Modificare un file di configurazione di Reporting Services (RSreportserver.config)
Configurare la memoria disponibile per applicazioni del server di report