Share 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. Para a maior parte, os domínios de aplicativo são criados, configurados e gerenciados internamente. Entretanto, saber como as operações de reciclagem ocorrem para os domínios de aplicativo de servidor de relatório pode ser útil se você estiver investigando o desempenho ou problemas de memória ou solucionando problemas de interrupção de serviço.

ObservaçãoObservaçã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 de 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 do 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ção RecycleTime 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.

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.

Reporting Services reciclará 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.

ASP.NET alterações de configuração

ASP.NET reciclará domínios de aplicativo se houver alterações em arquivos que ele monitore (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.

ASP.NET gerencia a operação.

As operações de reciclagem iniciadas por ASP.NET não afetam o domínio de aplicativo de processamento em segundo plano.

Pressão de memória e falhas de alocação de memória

A CLR do SQL Server reciclará imediatamente domínios de aplicativo no caso de uma falha de alocação de memória ou quando o servidor estiver 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 aceitará novas solicitações no domínio de aplicativo atual. Durante o período no qual o servidor nega novas solicitações, ocorrem erros HTTP 503. Não serão criados novos domínios de aplicativo até que o antigo domínio de aplicativo seja descarregado. Isso significa que, se você alterar o arquivo de configuração enquanto o servidor estiver sob alta pressão de memória, solicitações e trabalhos em progresso poderão não ser iniciados ou concluídos.

No caso de falha de alocação de memória, todos os domínios de aplicativo serão reinicializados 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 é 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 domínios de aplicativo adicionais 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:

    • Nas alterações de configuração, o servidor de relatório tentará usar uma reciclagem suave que redireciona novas solicitações a uma nova instância do domínio de 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. As solicitações canceladas não são reinicializadas. Usuários que exibiam um relatório interativamente devem atualizar ou reabrir o relatório. O processamento programado ocorrerá no próximo período programado. 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 por ASP.NET afetam apenas os aplicativos do Reporting Services ASP.NET: o serviço Web Servidor de Relatórios e o Gerenciador de Relatórios. O ASP.NET reciclará domínios de aplicativo com base na existência de alterações nos arquivos monitorados. As operações de reciclagem iniciadas por ASP.NET são tipicamente 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 freqüê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 durante o período alocado (ou se um trabalho estiver demorando mais do que o tempo de espera permitido), a instância de domínio de aplicativo será reinicializada imediatamente. Todos os trabalhos incompletos são encerrados.

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

ObservaçãoObservaçã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.