Compartilhar via


Domínios do aplicativo para aplicativos do Servidor de Relatório

No Reporting Services, o servidor de relatório é implementado como um único serviço que contém um serviço Web Servidor de Relatórios, Gerenciador de Relatórios e um aplicativo executado em segundo plano. Cada aplicativo é executado em seu próprio domínio de aplicativo dentro do único processo de servidor de relatório. Normalmente, os domínios de aplicativos são criados, configurados e gerenciados internamente. Entretanto, saber como as operações de reciclagem ocorrem para os domínios de aplicativo para servidores de relatório poderá ser útil se você estiver investigando o desempenho ou problemas de memória ou solucionando problemas de interrupção de serviço.

Observação

Se você configurar o acesso ao Construtor de Relatórios em um servidor de relatório que usa autenticação Básica, ele executará seu próprio domínio de aplicativo. Esse domínio é diferente de outros domínios de aplicativo que são executados no processo de servidor. Ele é gerenciado pelo Controlador de Serviço e não está sujeito aos recursos de gerenciamento de memória que reajustam a alocação em resposta à pressão de memória no servidor de relatório.

A seguinte lista descreve os eventos que causam operações de reciclagem de domínio para aplicativos Reporting Services:

  • Operações de reciclagem programadas que ocorrem em intervalos predefinidos.

  • Alterações de configuração no servidor de relatório.

  • Alterações na configuração ASP.NET.

  • Falhas de alocação de memória.

A seguinte tabela resume o domínio de aplicativo que recicla comportamento em resposta a esses eventos:

Evento Descrição do evento Aplica-se a Configurável Descrição de operação de reciclagem
Operações de reciclagem programadas que ocorrem em intervalos predefinidos Por padrão, os domínios de aplicativo são reciclados a cada 12 horas.

As operações de reciclagem programadas são práticas comuns para aplicativos ASP.NET que promovem a integridade do processo geral.
Serviço Web Servidor de Relatórios

Gerenciador de Relatórios

Aplicativo de processamento em segundo plano
Sim. A definição de configuraçãoRecycleTime no arquivo RSReportServer.config determina o intervalo de reciclagem.

MaxAppDomainUnloadTime define o tempo de espera durante o qual o processamento em segundo plano pode ser concluído.
O ASP.NET gerencia a operação de reciclagem para o serviço Web e o Gerenciador de Relatórios.

Para o aplicativo de processamento em segundo plano, o servidor de relatório cria um novo domínio de aplicativo para novos trabalhos iniciados pelas agendas. Os trabalhos já em progresso podem ser concluídos no domínio de aplicativo atual até que o tempo de espera expire.
Alterações de configuração no servidor de relatório. O Reporting Services recicla domínios de aplicativo em resposta a alterações no arquivo RSReportServer.config. Serviço Web Servidor de Relatórios

Gerenciador de Relatórios

Aplicativo de processamento em segundo plano
Não. Você não pode impedir que as operações de reciclagem aconteçam. Entretanto, as operações de reciclagem que ocorrem em resposta a alterações de configuração são tratadas da mesma maneira que operações de reciclagem programadas. Novos domínios de aplicativo são criados para novas solicitações enquanto solicitações atuais e trabalhos são concluídos no domínio de aplicativo atual.
Alterações na configuração ASP.NET O ASP.NET recicla domínios de aplicativo se houver alterações em arquivos que ele monitora (por exemplo, arquivos machine.config e Web.config e arquivos de programa do ASP.NET). Serviço Web Servidor de Relatórios

Gerenciador de Relatórios
Não. O ASP.NET gerencia a operação.

O ASP.NET inicia operações de reciclagem que não afetam o domínio do aplicativo de processamento em segundo plano.
Pressão de memória e falhas de alocação de memória O SQL Server CLR recicla imediatamente os domínios do aplicativo em caso de falha na alocação de memória ou quando o servidor está sob condições de alta pressão de memória. Serviço Web Servidor de Relatórios

Gerenciador de Relatórios

Aplicativo de processamento em segundo plano
Não. Sob alta pressão de memória, o servidor de relatório não aceita novas solicitações no domínio do aplicativo atual. Durante o período no qual o servidor nega novas solicitações, ocorrem erros HTTP 503. Novos domínios de aplicativo não são criados até que o domínio de aplicativo antigo seja descarregado. Se você fizer uma alteração no arquivo de configuração enquanto o servidor estiver sob alta pressão de memória, solicitações e tarefas em andamento poderão não ser iniciadas. Além disso, eles podem não ser concluídos conforme o esperado.

Se houver uma falha na alocação de memória, todos os domínios do aplicativo serão reiniciados imediatamente. Trabalhos e solicitações que estejam em progresso serão descartados. Você deve reinicializar esses trabalhos e solicitações manualmente.

Operações de reciclagem planejadas e não planejadas

As operações de reciclagem planejadas ou não planejadas dependem das condições que acompanham a operação:

  • As operações de reciclagem planejadas ocorrem em intervalos regulares definidos no arquivo RSReportServer.config. O padrão é a cada 12 horas. Essa configuração é uma prática comum para aplicativos ASP.NET que promovem a integridade do processo geral. Para operações de reciclagem planejadas, o servidor de relatório cria outros domínios de aplicativo para novas solicitações. As solicitações já em progresso podem ser concluídas no domínio de aplicativo atual até que o tempo de espera expire. As definições de configuração que governam as operações de reciclagem planejadas são definidas para o servidor como um todo. Você não pode configurar uma agenda de reciclagem diferente ou limite de memória para cada aplicativo.

  • As operações e reciclagem não planejadas ocorrem em períodos arbitrários em resposta a alterações de configuração, pressão de memória e falhas de alocação de memória:

    • Para alterações de configuração, o servidor de relatório tenta usar uma reciclagem suave que redireciona novas solicitações para uma nova instância do domínio do aplicativo. Se a reciclagem suave falhar, o servidor iniciará uma reciclagem de domínio de aplicativo agressiva que cancela todas as solicitações em progresso, desliga os domínios de aplicativo atuais e reinicia os domínios de aplicativo.

    • As falhas de alocação de memória indicam que os recursos do sistema não são suficientes para a quantidade de processamento de relatório executada pelo servidor. Uma operação de reciclagem agressiva de todos os domínios de aplicativo ocorre em resposta a uma falha de alocação de memória. Todas as filas de solicitação são desmarcadas. Solicitações canceladas não são reiniciadas. Usuários que exibiam um relatório interativamente devem atualizar ou reabrir o relatório. O processamento agendado ocorre no próximo horário agendado. Se o atraso for inaceitável, você poderá atualizar um instantâneo de relatório manualmente ou modificar uma agenda de assinatura ou agenda de instantâneo de relatório de modo a ser executada imediatamente.

Os domínios de aplicativo para o serviço Web Servidor de Relatórios, Gerenciador de Relatórios e o aplicativo de processamento de segundo plano podem ser reciclados juntos ou individualmente, dependendo das circunstâncias que provocam a reciclagem.

  • As operações de reciclagem iniciadas pelo ASP.NET afetam apenas os aplicativos ASP.NET do Reporting Services: Serviço Web Servidor de Relatórios e Gerenciador de Relatórios. O ASP.NET recicla domínios do aplicativo com base em alterações nos arquivos que monitora. O ASP.NET inicia operações de reciclagem que normalmente são independentes das operações de reciclagem do aplicativo de processamento em segundo plano.

  • As operações de reciclagem iniciadas pelo servidor de relatório geralmente afetam o serviço Web Servidor de Relatórios, o Gerenciador de Relatórios e o aplicativo processado em segundo plano. As operações de reciclagem ocorrem em resposta a alterações nas definições de configuração e o serviço é reinicializado.

Definições de configuração RSReportServer para domínios de aplicativo

As definições de configuração são especificadas no arquivo RSReportServer.config. O exemplo a seguir mostra as definições de configuração padrão para o comportamento de reciclagem de domínio de aplicativo.

<RecycleTime>720</RecycleTime>

<MaxAppDomainUnloadTime>30</MaxAppDomainUnloadTime>

A tabela a seguir descreve esses elementos.

Elemento Aplica-se a Definição
RecycleTime Todos os três domínios de aplicativo Reporting Services Especifica com que frequência os domínios de aplicativo são reciclados. A agenda de reciclagem padrão está em conformidade com o padrão de 12 horas geralmente seguido pela reciclagem de domínio de aplicativo ASP.NET. No momento marcado, todas as novas solicitações são encaminhadas a uma nova instância do domínio de aplicativo. As solicitações atualmente em progresso na instância original podem ser concluídas. Após todos os processos terem sido concluídos, a instância original é excluída e a nova instância torna-se a única instância de domínio de aplicativo ativa.

O valor padrão é de 720 minutos.
MaxAppDomainUnloadTime Apenas ao domínio de aplicativo de processamento em segundo plano Por padrão, um servidor de relatório aloca um tempo de espera de 30 minutos, durante o qual um domínio de aplicativo pode ser desligado durante a operação de reciclagem.
Se os trabalhos atualmente em processo não puderem ser concluídos dentro do tempo alocado, a instância do domínio do aplicativo será reiniciada imediatamente. Da mesma forma, se um trabalho exceder o tempo de espera especificado, a instância do domínio do aplicativo também será reiniciada imediatamente. Todos os trabalhos incompletos são encerrados.

Para obter mais informações sobre como exibir o status ou cancelar trabalhos executados no servidor de relatório, confira Cancelar trabalhos do servidor de relatório (Management Studio).

Observação

Apesar de o serviço Web Servidor de Relatórios e o Gerenciador de Relatórios serem aplicativos ASP.NET, nenhum responde à reciclagem de domínio de aplicativo programada que pode ser especificada em machine.config por aplicativos ASP.NET hospedados em IIS.