Поделиться через


Домены приложений для приложений сервера отчетов

В службах Reporting Services сервер отчетов реализован как отдельная служба, включающая в себя веб-службу сервера отчетов, диспетчер отчетов и приложение фоновой обработки. Каждое приложение эксплуатируется в собственном домене приложения, в составе общего процесса сервера отчетов. Создание, настройка и управление доменами приложений обычно осуществляются внутри процесса. Однако знание того, как происходят операции очистки для доменов приложений сервера отчетов, может быть полезным при исследовании проблем производительности или использования памяти и при устранении неполадок в работе службы.

Примечание

При настройке доступа к построителю отчетов на сервере отчетов, который использует обычную проверку подлинности, построитель отчетов выполняется в своем собственном домене приложений. Это домен приложений, отличный от других доменов приложений, которые запускаются в процессе сервера. Он управляется контроллером служб и не зависит от функций управления памятью, которые перераспределяют память в процессе ее активного использования на сервере отчетов.

В следующем списке указаны события, приводящие к выполнению операций перезапуска домена приложения служб Reporting Services:

  • Плановые операции очистки, выполняемые через стандартные интервалы времени.

  • Изменения конфигурации на сервере отчетов.

  • Изменения конфигурации ASP.NET.

  • Сбой выделения памяти.

В следующей таблице приведены итоговые сведения о том, как происходит очистка домена приложений в ответ на эти события.

Событие Описание события Применяется к Настраивается Описание операции очистки
Плановые операции очистки, выполняемые через стандартные интервалы времени По умолчанию, домены приложений очищаются через каждые 12 часов.

Запланированные операции перезапуска чаще всего выполняются применительно к приложениям ASP.NET, обеспечивающим общую работоспособность процесса.
Веб-служба сервера отчетов

Диспетчер отчетов

Приложение фоновой обработки
Да. Значение параметра конфигурации RecycleTime в файле RSReportServer.config определяет интервал очистки.

Параметр MaxAppDomainUnloadTime задает время ожидания, в течение которого допускается завершение фоновой обработки.
ASP.NET управляет операцией перезапуска веб-службы и диспетчера отчетов.

Для приложения фоновой обработки сервер отчетов создает новый домен приложения для новых заданий, инициированных по расписанию. Завершение уже выполняемых заданий в текущем домене приложения допускается до истечения времени ожидания.
Изменения конфигурации на сервере отчетов Службы Reporting Services перезапускают домены приложения в случае внесения изменений в файл RSReportServer.config. Веб-служба сервера отчетов

Диспетчер отчетов

Приложение фоновой обработки
Нет. Остановить операции очистки невозможно. Тем не менее, операции очистки, выполняемые в ответ на изменения конфигурации, осуществляются таким же образом, как и плановые операции очистки. Для новых запросов создаются новые домены приложений, в то время как текущие запросы и задания завершаются в текущем домене приложения.
Изменения конфигурации ASP.NET ASP.NET осуществляет перезапуск доменов приложений в случае внесения изменений в отслеживаемые ими файлы (например, в файлы machine.config и Web.config, а также в файлы программ ASP.NET). Веб-служба сервера отчетов

Диспетчер отчетов
Нет. ASP.NET управляет выполнением операции.

Операции перезапуска, инициированные ASP.NET, не затрагивают домен приложения фоновой обработки.
Нехватка памяти и ошибки при выделении памяти CLR SQL Server сразу же выполняет перезапуск доменов приложений в случае ошибки при выделении памяти или при значительной нехватке памяти на сервере. Веб-служба сервера отчетов

Диспетчер отчетов

Приложение фоновой обработки
Нет. При значительной нехватке памяти сервер отчетов не принимает новые запросы в текущем домене приложения. Пока сервер отклоняет новые запросы, происходят ошибки HTTP 503. Новые домены приложений не создаются до тех пор, пока не произойдет выгрузка старого домена приложения. Это означает, что в случае внесения изменений в файл конфигурации в условиях значительной нехватки памяти на сервере, выполняемые запросы и задания могут не запускаться или не завершаться.

В случае ошибки при выполнении операции выделения памяти происходит немедленный перезапуск всех доменов приложений. Выполняемые задания и запросы уничтожаются. Необходимо перезапустить эти задания и запросы вручную.

Запланированные и незапланированные операции очистки

Операции очистки могут быть либо запланированными, либо незапланированными, в зависимости от условий, которые приводят к выполнению операции.

  • Запланированные операции очистки происходят через постоянные интервалы, которые определены в файле RSReportServer.config. По умолчанию— через каждые 12 часов. Это обычно относится к приложениям ASP.NET, обеспечивающим общую работоспособность процесса. Для запланированных операций очистки сервер отчетов создает дополнительные домены приложений для новых запросов. Завершение уже выполняемых запросов в текущем домене приложения допускается до истечения времени ожидания. Значения параметров конфигурации, которые управляют запланированными операциями очистки, задаются для всего сервера в целом. Возможность настроить отдельное расписание очистки или пороговое значение памяти для каждого приложения отсутствует.

  • Незапланированные операции очистки происходят в произвольные моменты времени в ответ на изменения конфигурации, нехватку памяти и ошибки при выполнении операций выделения памяти.

    • При изменениях конфигурации сервер отчетов предпринимает попытку использовать мягкую очистку, при которой выполняется перенаправление новых запросов на новый экземпляр домена приложения. Если мягкая очистка оканчивается неудачей, сервер инициирует жесткую очистку домена приложения, которая предусматривает отмену всех выполняемых запросов, останов текущих доменов приложений и перезапуск доменов приложений.

    • Возникновение ошибок при осуществлении операций выделения памяти указывает на то, что системные ресурсы являются недостаточными для объема обработки отчетов, выполняемого сервером. Операция жесткой очистки для всех доменов приложений происходит в ответ на ошибку операции выделения памяти. Все очереди запросов очищаются. Отмененные запросы не перезапускаются. Пользователи, которые просматривали отчет в оперативном режиме, должны обновить или повторно открыть отчет. Плановая обработка произойдет в следующий запланированный момент времени. Если связанная с этим задержка недопустима, то можно обновить моментальный снимок отчета вручную, либо изменить расписание подписки или расписание моментальных снимков отчетов, чтобы требуемая обработка была выполнена немедленно.

Очистка доменов приложений для веб-службы сервера отчетов, диспетчера отчетов и приложения фоновой обработки может осуществляться вместе или отдельно, в зависимости от обстоятельств, которые приводят к выполнению очистки.

  • Операции перезапуска, инициированные ASP.NET, затрагивают только приложения служб Reporting Services ASP.NET: веб-службу сервера отчетов и диспетчер отчетов. ASP.NET выполняет операцию перезапуска доменов приложений в зависимости от внесения изменений в отслеживаемые файлы. Операции перезапуска, которые инициированы ASP.NET, как правило, не связаны с операциями перезапуска приложения фоновой обработки.

  • Операции очистки, инициированные сервером отчетов, обычно затрагивают веб-службу сервера отчетов, диспетчер отчетов и приложение фоновой обработки. Операции очистки происходят в ответ на изменения значений параметров конфигурации и перезапуска службы.

Значения параметров конфигурации RSReportServer для доменов приложений

Параметры конфигурации задаются в файле RSReportServer.config. В следующем примере показаны параметры конфигурации по умолчанию, относящиеся к запланированному выполнению очистки домена приложения.

<RecycleTime>720</RecycleTime>

<MaxAppDomainUnloadTime>30</MaxAppDomainUnloadTime>

Эти элементы описываются в следующей таблице.

Элемент Применяется к Определение
RecycleTime Все три домена приложения Reporting Services Указывает, как часто происходит очистка доменов приложений. По умолчанию график перезапуска соответствует 12-часовой схеме, обычно применяемой для перезапуска домена приложения ASP.NET. С указанного в расписании времени все новые запросы перенаправляются новому экземпляру домена приложений. Запросы, которые в данный момент выполняются на исходном экземпляре, отрабатывают до завершения. После завершения всех процессов исходный экземпляр удаляется, а новый экземпляр становится единственным активным экземпляром домена приложений.

Значение по умолчанию составляет 720 минут.
MaxAppDomainUnloadTime Только домен приложения фоновой обработки По умолчанию сервер отчетов предоставляет 30 минут для завершения работы домена приложения во время операции очистки. Если выполняемые задания не могут быть завершены в течение предоставленного времени (или если задание занимает больше времени, чем позволяет период ожидания), экземпляр домена приложения немедленно перезапускается. Все незавершенные задания прерываются.

Дополнительные сведения о просмотре состояния или отмене заданий, выполняемых на сервере отчетов, см. в разделе Отмена заданий сервера отчетов (среда Management Studio).

Примечание

Хотя веб-служба сервера отчетов и диспетчер отчетов являются приложениями ASP.NET, их не затрагивает запланированный перезапуск домена приложений, который может быть указан в файле machine.config для приложений ASP.NET, развернутых на сервере служб IIS.

См. также:

RSReportServer Configuration File
Изменение файла конфигурации служб Reporting Services (RSreportserver.config)
Настройка доступной памяти для приложений сервера отчетов