Anwendungsdomänen für Berichtsserveranwendungen
In Reporting Services wird der Berichtsserver als einzelner Dienst implementiert, der den Berichtsserver-Webdienst, den Berichts-Manager und eine Hintergrundverarbeitungsanwendung umfasst. Jede Anwendung wird in einer eigenen Anwendungsdomäne innerhalb des einzelnen Berichtsserverprozesses ausgeführt. Im Allgemeinen werden Anwendungsdomänen intern erstellt, konfiguriert und verwaltet. Es ist jedoch nützlich zu wissen, wie Wiederverwendungsvorgänge für Berichtsserver-Anwendungsdomänen auftreten, wenn Sie Leistungs- oder Speicherprobleme untersuchen oder Dienststörungen beheben müssen.
Hinweis
Wenn Sie den Zugriff des Berichts-Generators auf einen Berichtsserver konfigurieren, der mit der Standardauthentifizierung arbeitet, wird der Berichts-Generator in seiner eigenen Anwendungsdomäne ausgeführt. Diese Anwendungsdomäne unterscheidet sich von anderen im Serverprozess ausgeführten Anwendungsdomänen. Sie wird vom Service Controller verwaltet und unterliegt nicht den Funktionen zur Speicherverwaltung, die die Speicherbelegung als Reaktion auf Speicherengpässe auf dem Berichtsserver neu anpassen.
In der folgenden Liste werden die Ereignisse beschrieben, die Anwendungsdomänen-Neustartvorgänge für Reporting Services-Anwendungen verursachen:
Geplante Wiederverwendungsvorgänge, die in vordefinierten Intervallen auftreten.
Konfigurationsänderungen des Berichtsservers.
ASP.NET-Konfigurationsänderungen.
Fehler bei der Speicherbelegung.
In der folgenden Tabelle wird das Anwendungsdomänen-Wiederverwendungsverhalten als Reaktion auf diese Ereignisse zusammengefasst:
Ereignis | Ereignisbeschreibung | Anwendungsbereich | Konfigurierbar | Beschreibung des Wiederverwendungsvorgangs |
---|---|---|---|---|
Geplante Wiederverwendungsvorgänge, die in vordefinierten Intervallen auftreten | Standardmäßig werden Anwendungsdomänen alle 12 Stunden wiederverwendet. Geplante Neustartvorgänge sind für ASP.NET-Anwendungen gängige Praxis, um den Gesamtzustand von Prozessen zu fördern. |
Report Server-Webdienst Berichts-Manager Hintergrundverarbeitungsanwendung |
Ja. Das Wiederverwendungsintervall wird durch die KonfigurationseinstellungRecycleTime in der Datei RSReportServer.config festgelegt. MaxAppDomainUnloadTime legt die Wartezeit fest, während der die Hintergrundverarbeitung abgeschlossen werden kann. |
ASP.NET verwaltet den Neustartvorgang für den Webdienst und den Berichts-Manager. Für die Hintergrundverarbeitungsanwendung erstellt der Berichtsserver eine neue Anwendungsdomäne für neue Aufträge, die durch Zeitpläne initialisiert werden. Bereits ausgeführte Aufträge können in der aktuellen Anwendungsdomäne zu Ende verarbeitet werden, bis die Wartezeit abläuft. |
Konfigurationsänderungen des Berichtsservers | Reporting Services startet Anwendungsdomänen neu, um auf Änderungen in der Datei „RSReportServer.config“ zu reagieren. | Report Server-Webdienst Berichts-Manager Hintergrundverarbeitungsanwendung |
Nein | Sie können das Auftreten von Wiederverwendungsvorgängen nicht verhindern. Wiederverwendungsvorgänge, die als Reaktion auf Änderungen der Konfigurationseinstellungen auftreten, werden jedoch auf die gleiche Weise behandelt wie geplante Wiederverwendungsvorgänge. Für neue Anforderungen werden neue Anwendungsdomänen erstellt, während aktuelle Anforderungen und Aufträge in der aktuellen Anwendungsdomäne abgeschlossen werden. |
ASP.NET-Konfigurationsänderungen | ASP.NET startet Anwendungsdomänen neu, wenn Änderungen an den überwachten Dateien vorgenommen werden (z. B. an „machine.config“- und „Web.config“-Dateien sowie an ASP.NET-Programmdateien). | Report Server-Webdienst Berichts-Manager |
Nein. | ASP.NET verwaltet den Vorgang. ASP.NET initiiert Neustartvorgänge, die sich nicht auf die Anwendungsdomäne für die Hintergrundverarbeitung auswirken. |
Ungenügender Arbeitsspeicher und Fehler bei der Speicherbelegung | SQL Server CLR startet Anwendungsdomänen sofort neu, wenn es zu einem Fehler bei der Speicherzuordnung kommt oder wenn der Arbeitsspeicher des Servers extrem ausgelastet ist. | Report Server-Webdienst Berichts-Manager Hintergrundverarbeitungsanwendung |
Nein | Bei hoher Speicherauslastung akzeptiert der Berichtsserver keine neuen Anforderungen in der aktuellen Anwendungsdomäne. Während des Zeitraums, in dem der Server neue Anforderungen verweigert, treten HTTP 503-Fehler auf. Neue Anwendungsdomänen werden erst dann erstellt, wenn die alte Anwendungsdomäne entladen wird. Wenn Sie bei einer hohen Speicherauslastung des Servers Änderungen an Konfigurationsdateien vornehmen, werden in Ausführung befindliche Anforderungen und Aufträge möglicherweise nicht gestartet. Darüber hinaus werden sie möglicherweise nicht wie erwartet abgeschlossen. Im Fall eines Fehlers bei der Speicherzuordnung werden alle Anwendungsdomänen sofort neu gestartet. Gerade ausgeführte Aufträge und Anforderungen werden gelöscht. Sie müssen diese Aufträge und Anforderungen manuell neu starten. |
Geplante und ungeplante Wiederverwendungsvorgänge
Wiederverwendungsvorgänge sind entweder geplant oder ungeplant, je nachdem, wie der jeweilige Vorgang herbeigeführt wird:
Geplante Wiederverwendungsvorgänge treten in regelmäßigen Abständen auf, die in der Datei
RSReportServer.config
definiert sind. Das Standardintervall beträgt 12 Stunden. Diese Einstellung ist eine bewährte Vorgehensweise für ASP.NET-Anwendungen, um den Gesamtzustand von Prozessen zu fördern. Bei geplanten Wiederverwendungsvorgängen erstellt der Berichtsserver weitere Anwendungsdomänen für neue Anforderungen. Bereits ausgeführte Anforderungen können in der aktuellen Anwendungsdomäne zu Ende verarbeitet werden, bis die Wartezeit abläuft. Konfigurationseinstellungen, die geplante Wiederverwendungsvorgänge steuern, werden für den gesamten Server festgelegt. Sie können keine unterschiedlichen Wiederverwendungszeitpläne oder Speicherschwellenwerte für die einzelnen Anwendungen konfigurieren.Nicht geplante Wiederverwendungsvorgänge treten willkürlich als Reaktion auf Konfigurationsänderungen, Speicherauslastung und Speicherbelegungsfehler auf:
Bei Konfigurationsänderungen versucht der Berichtsserver, eine „weiche“ Wiederverwendung, bei der neue Anforderungen an eine neue Instanz der Anwendungsdomäne weitergeleitet werden. Wenn dies fehlschlägt, initiiert der Server eine "harte" Anwendungsdomänen-Wiederverwendung, bei der alle gerade ausgeführten Anforderungen abgebrochen, die aktuellen Anwendungsdomänen geschlossen und die Anwendungsdomänen neu gestartet werden.
Fehler bei der Speicherbelegung deuten darauf hin, dass keine ausreichenden Systemressourcen für die vom Server durchgeführte Berichtsverarbeitung verfügbar sind. Ein "harter" Wiederverwendungsvorgang für alle Anwendungsdomänen tritt als Reaktion auf einen Speicherbelegungsfehler auf. Alle Anforderungswarteschlangen werden gelöscht. Abgebrochene Anforderungen werden nicht neu gestartet. Benutzer, die einen Bericht interaktiv angezeigt haben, müssen eine Aktualisierung vornehmen oder den Bericht erneut öffnen. Die geplante Verarbeitung wird zum nächsten geplanten Zeitpunkt durchgeführt. Wenn die Verzögerung nicht akzeptabel ist, können Sie eine Berichtsmomentaufnahme manuell aktualisieren, einen Abonnementzeitplan oder einen Berichtsmomentaufnahme-Zeitplan ändern, damit er sofort ausgeführt wird.
Die Anwendungsdomänen für den Report Server-Webdienst, den Berichts-Manager und die Hintergrundverarbeitungsanwendung werden entweder zusammen oder einzeln wiederverwendet, je nachdem wodurch die Wiederverwendung ausgelöst wird:
Neustartvorgänge, die von ASP.NET initiiert werden, wirken sich nur auf die Reporting Services-ASP.NET-Anwendungen aus: den Berichtsserver-Webdienst und den Berichts-Manager. ASP.NET startet Anwendungsdomänen neu, wenn Änderungen an den überwachten Dateien vorgenommen werden. ASP.NET initiiert Neustartvorgänge, die in der Regel unabhängig von Neustartvorgängen für die Hintergrundverarbeitungsanwendung sind.
Vom Berichtsserver initiierte Wiederverwendungsvorgänge wirken sich in der Regel auf den Report Server-Webdienst, den Berichts-Manager und die Hintergrundverarbeitungsanwendung aus. Wiederverwendungsvorgänge treten als Reaktion auf Änderungen an den Konfigurationseinstellungen und Neustart von Diensten auf.
RSReportServer-Konfigurationseinstellungen für Anwendungsdomänen
Die Konfigurationseinstellungen werden in der Datei RSReportServer.configangegeben. Im folgenden Beispiel werden die Standardkonfigurationseinstellungen für das geplante Anwendungsdomänen-Wiederverwendungsverhalten veranschaulicht.
<RecycleTime>720</RecycleTime>
<MaxAppDomainUnloadTime>30</MaxAppDomainUnloadTime>
In der folgenden Tabelle sind diese Elemente beschrieben.
Element | Anwendungsbereich | Definition |
---|---|---|
RecycleTime | Alle drei Reporting Services-Anwendungsdomänen | Gibt an, wie oft die Anwendungsdomänen wiederverwendet werden. Der standardmäßige Neustartzeitplan entspricht dem 12-Stunden-Muster, das in der Regel für ASP.NET-Anwendungsdomänenneustarts verwendet wird. Zum geplanten Zeitpunkt werden alle neuen Anforderungen an die neue Instanz der Anwendungsdomäne weitergeleitet. Zurzeit in der ursprünglichen Instanz ausgeführte Anforderungen werden abgeschlossen. Nach Abschluss aller Prozesse wird die ursprünglichen Instanz gelöscht, und die neue Instanz wird zur einzig aktiven Instanz der Anwendungsdomäne. Der Standardwert ist 720 Minuten. |
MaxAppDomainUnloadTime | Nur Hintergrundverarbeitungs-Anwendungsdomäne | Ein Berichtsserver ordnet standardmäßig eine Wartezeit von 30 Minuten zu, in der eine Anwendungsdomäne während eines Wiederverwendungsvorgangs heruntergefahren werden kann. |
Können die zurzeit ausgeführten Aufträge nicht in der vorgesehenen Zeit abgeschlossen werden, wird die Instanz der Anwendungsdomäne sofort neu gestartet. Ebenso wird die Instanz der Anwendungsdomäne umgehend neu gestartet, wenn ein Auftrag die angegebene Wartezeit überschreitet. Alle nicht abgeschlossenen Aufträge werden beendet. Weitere Informationen zum Anzeigen des Status oder zum Abbrechen von Aufträgen, die auf dem Berichtsserver ausgeführt werden, finden Sie unter Abbrechen von Berichtsserveraufträgen (Management Studio). |
Hinweis
Obwohl der Berichtsserver-Webdienst und der Berichts-Manager ASP.NET-Anwendungen sind, reagiert keine dieser Anwendungen auf einen geplanten Anwendungsdomänenneustart, der möglicherweise in der Datei „machine.config“ für in IIS gehostete ASP.NET-Anwendungen festgelegt ist.