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


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

В службах 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.config
Изменение файла конфигурации служб Reporting Services (RSreportserver.config)
Настройка доступной памяти для приложений сервера отчетов