2009-04-15 4 views
5

Stiamo riscontrando un tempo di avvio lento nella prima richiesta di report del giorno o quando non sono presenti richieste di report per un periodo di tempo sconosciuto. Nelle installazioni di SQL Reporting Server 2005 configureremmo il pool di app per evitare il riciclaggio delle applicazioni di Reporting Services.Avvio lento di SQL Reporting Services 2008 in modalità nativa

Tuttavia, il mio client ha installato SQL Reporting Server 2008 su Windows Server 2008 in modalità nativa. Non è possibile trovare l'installazione di IIS. Ho controllato le impostazioni di configurazione del servizio SQL Reporting, i file e i forum della Guida e non ho individuato una soluzione per questo problema in un'installazione nativa.

Come è possibile controllare il riciclaggio dell'applicazione Reporting Services quando è installato in modalità Nativa?

risposta

13

Non ho trovato il parametro di riferimento in risposta tcc. Tuttavia la sua risposta mi ha indizio dell'esistenza del file di configurazione; Ho trovato una pagina che ha avuto i dettagli sui contenuti:

MSDN: How to: Modify a Reporting Services Configuration File

In essa ho trovato il parametro RecycleTime. Il valore predefinito è 720, il che equivale ai 20 minuti in cui ci sono voluti del tempo. L'ho impostato su 28800.

Ho riavviato il servizio di Reporting Services per buona misura e ho avuto accesso al sito. Ci sono voluti il ​​solito minuto o due per venire e durante quel tempo il server stava lavorando sodo. Ora è scattante; Verificherò tutto il giorno per vedere se questo impedisce a Report Services di riciclare il processo e di ricostruirlo ogni 20 minuti e di fare rapporto su questo sito.

+0

Questo sembra aver risolto il mio problema. – jlo

+1

Il parametro è in minuti. 28800 = 480 ore! http://msdn.microsoft.com/en-us/library/ms157273.aspx –

+0

Grazie mille. Questo aiuta anche (avevo bisogno di entrambi) http://stackoverflow.com/questions/784918/asmx-web-service-slow-first-request/784947#784947 – Praesagus

1

Credo che la soluzione sia aggiungere una chiave ProcessTimeout nel file rsreportserver.config. C'è questa chiave in questo file dall'installazione predefinita ma è commentata. Non sono sicuro che siano minuti o secondi, ma l'ho modificato a 28800 e il processo funzionava ancora per la prima volta stamattina dopo nessuna attività per oltre 12 ore. Il primo rapporto caricato in pochi secondi.

Il file si trova in ~/program files/servizi Microsoft SQL Server/msrs10.mssqlserver/Reporting/reportserver

ho anche modificato il 7200 in questo file.

0

SQL Server 2008 non utilizza IIS, motivo per cui il parametro RecycleTime è stato spostato nel file di configurazione RS. Ciò significa anche che è possibile installare il server di report sul server di database per prestazioni migliori, senza dover installare IIS.

Il valore predefinito di RecycleTime di 720 (12 ore) dovrebbe essere ragionevole per un server di report attivo solo durante l'orario di ufficio. Tuttavia, ho lo stesso problema, anche se pianifico l'esecuzione di un abbonamento di report alle 7:30 di ogni giorno della settimana per far inizializzare il server di report per il giorno.

Mi chiedo ora se il parametro RecycleTime è effettivamente specificato in minuti o se questo potrebbe essere un errore di documentazione. Ho intenzione di provare un valore più grande.

0

Sto eseguendo SQL Server 2008 R2 e ci sono due impostazioni (inizialmente commentate) nel mio rsreportserver.config che ho decompresso e configurato. I miei valori sono riportati di seguito:

<Add Key="ProcessTimeout" Value="4320" /><!-- seconds --> 
<Add Key="ProcessTimeoutGcExtension" Value="30" /><!-- seconds --> 

Al momento in cui scriviamo, questi elementi di configurazione are not documented nella documentazione MSDN per la RSReportServer.config di file per SQL Server 2008 R2, tuttavia c'è un KB article che li descrive brevemente sotto Ulteriori informazioni:

Ci sono due impostazioni di configurazione che determinano il periodo di attesa Process Monitor per l'attività di servizio prima di fermare la Servizio . Queste impostazioni sono definite come segue:

  1. ProcessTimeout
    Questa impostazione si applica a qualsiasi operazione che Reporting Services è esecuzione.
  2. ProcessTimeoutGcExtension
    Questa impostazione si applica solo se garbage collection è in corso, e il valore ProcessTimeout era raggiunto.

Utilizzando l'impostazione ProcessTimeout mantenuto mio esempio SSRS sveglio, e impostando l'impostazione RecycleTime ad un adeguato valore elevato (nel mio caso 30 giorni, o 43.200 secondi) aiutato allontanare il riciclo obbligatorio che viene sostenuta quando tale l'intervallo di tempo è trascorso.

0

Impostando RecycleTime su 28800 si sta solo aumentando il tempo tra le partenze lente. Ci vorrà ancora del tempo perché il primo rapporto funzioni dopo le 480 ore. È possibile impostare RecyleTime su 0 per interrompere il riciclaggio se questo aiuta.

Se questa non è un'opzione che si può tenere in vita da una serie di metodi come:
1.) Pianificazione di un rapporto fittizio nel sito Web di SSRS Gestione report (Il mio approccio preferito)
2.) Scheduled Script

Mi rendo conto che questa è una domanda vecchia ma non è ben documentata, spero che questo aiuti qualcuno là fuori.