Compartilhar via


<applicationPool> Elemento (Configurações da Web)

Especifica as configurações usadas pelo ASP.NET para gerenciar o comportamento em todo o processo quando um aplicativo ASP.NET está em execução no modo Integrado no IIS 7.0 ou em uma versão posterior.

Importante

Esse elemento e o recurso que ele oferece suporte só funcionarão se o aplicativo ASP.NET estiver hospedado no IIS 7.0 ou versões posteriores.

<configuration><system.web><applicationPool>

Sintaxe

<applicationPool
    maxConcurrentRequestsPerCPU="5000"
    maxConcurrentThreadsPerCPU="0"
    requestQueueLimit="5000" />

Atributos e elementos

As seções a seguir descrevem atributos, elementos filho e elementos pai.

Attributes

Attribute Description
maxConcurrentRequestsPerCPU Especifica quantas solicitações simultâneas ASP.NET permite por CPU.
maxConcurrentThreadsPerCPU Especifica quantos threads simultâneos podem ser executados para um pool de aplicativos para cada CPU. Isso fornece uma maneira alternativa de controlar ASP.NET simultaneidade, pois você pode limitar o número de threads gerenciados que podem ser usados por CPU para atender às solicitações. Por padrão, essa configuração é 0, o que significa que ASP.NET não limita o número de threads que podem ser criados por CPU, embora o pool de threads CLR também limite o número de threads que podem ser criados.
requestQueueLimit Especifica o número máximo de solicitações que podem ser enfileiradas para ASP.NET em um único processo. Quando dois ou mais aplicativos ASP.NET são executados em um único pool de aplicativos, o conjunto cumulativo de solicitações feitas a qualquer aplicativo no pool de aplicativos está sujeito a essa configuração.

Elementos filho

Nenhum.

Elementos pai

Elemento Description
<System.web> Contém informações sobre como ASP.NET interage com um aplicativo host.

Observações

Quando você executa o IIS 7.0 ou uma versão posterior no modo integrado, essa combinação de elementos permite configurar como ASP.NET gerencia threads e solicitações de filas quando o aplicativo é hospedado em um pool de aplicativos do IIS. Se você executar o IIS 6 ou executar o IIS 7.0 no modo Clássico ou no modo ISAPI, essas configurações serão ignoradas.

As applicationPool configurações se aplicam a todos os pools de aplicativos executados em uma versão específica do .NET Framework. As configurações estão contidas em um arquivo aspnet.config. Há uma versão desse arquivo para as versões 2.0 e 4.0 do .NET Framework. (As versões 3.0 e 3.5 do .NET Framework compartilham o arquivo aspnet.config com a versão 2.0.)

Importante

Se você executar o IIS 7.0 no Windows 7, poderá configurar um arquivo aspnet.config separado para cada pool de aplicativos. Isso permite que você adapte o desempenho dos threads para cada pool de aplicativos.

Para a maxConcurrentRequestsPerCPU configuração, a configuração padrão de "5000" no .NET Framework 4 efetivamente desativa a limitação de solicitação controlada por ASP.NET, a menos que você realmente tenha 5.000 ou mais solicitações por CPU. A configuração padrão depende, em vez disso, do pool de threads CLR para gerenciar automaticamente a simultaneidade por CPU. Os aplicativos que fazem uso extensivo do processamento de solicitações assíncronas ou que têm muitas solicitações de execução longa bloqueadas na E/S da rede se beneficiarão do limite padrão aumentado no .NET Framework 4. A configuração maxConcurrentRequestsPerCPU como zero desativa o uso de threads gerenciados para processamento ASP.NET solicitações. Quando um aplicativo é executado em um pool de aplicativos do IIS, as solicitações permanecem no thread de E/S do IIS e, portanto, a simultaneidade é limitada pelas configurações de thread do IIS.

A requestQueueLimit configuração funciona da mesma forma que o requestQueueLimit atributo do elemento processModel , que é definido nos arquivos Web.config para aplicativos ASP.NET. No entanto, a requestQueueLimit configuração em um arquivo aspnet.config substitui a requestQueueLimit configuração em um arquivo de Web.config. Em outras palavras, se ambos os atributos forem definidos (por padrão, isso é verdadeiro), a requestQueueLimit configuração no arquivo aspnet.config terá precedência.

Example

O exemplo a seguir mostra como configurar ASP.NET comportamento em todo o processo no arquivo aspnet.config nas seguintes circunstâncias:

  • O aplicativo é hospedado em um pool de aplicativos do IIS 7.0.

  • O IIS 7.0 está em execução no modo integrado.

  • O aplicativo está usando o .NET Framework 3.5 SP1 ou uma versão posterior.

Os valores no exemplo são os valores padrão.

<configuration>
  <system.web>
    <applicationPool
        maxConcurrentRequestsPerCPU="5000"
        maxConcurrentThreadsPerCPU="0"
        requestQueueLimit="5000" />
  </system.web>
</configuration>

Consulte também