Partilhar via


<applicationPool> Elemento (Definições Web)

Especifica as definições de configuração que são usadas por ASP.NET para gerir o comportamento em todo o processo quando uma aplicação ASP.NET está a correr em modo Integrado no IIS 7.0 ou numa versão posterior.

Importante

Este elemento e a funcionalidade que suporta só funcionam se a sua aplicação ASP.NET estiver alojada em versões IIS 7.0 ou 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 quantos pedidos simultâneos ASP.NET permite por CPU.
maxConcurrentThreadsPerCPU Especifica quantos threads simultâneos podem estar a correr para um pool de aplicações para cada CPU. Isto oferece uma forma alternativa de controlar ASP.NET concorrência, porque pode limitar o número de threads geridos que podem ser usados por CPU para servir pedidos. Por defeito, esta definiçã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 pedidos que podem ser enfileirados para ASP.NET num único processo. Quando duas ou mais ASP.NET aplicações são executadas num único pool de aplicações, o conjunto cumulativo de pedidos feitos a qualquer aplicação do pool está sujeito a esta configuração.

Elementos Subordinados

Nenhum.

Elementos Principais

Elemento Description
<system.web> Contém informações sobre como ASP.NET interage com uma aplicação anfitriã.

Observações

Quando executa o IIS 7.0 ou uma versão posterior em modo Integrado, esta combinação de elementos permite-lhe configurar como ASP.NET gere threads e enfileira pedidos quando a aplicação está alojada num pool de aplicações IIS. Se executares o IIS 6 ou o IIS 7.0 em modo Clássico ou em modo ISAPI, estas definições são ignoradas.

As applicationPool definições aplicam-se a todos os pools de aplicações que correm numa determinada versão do .NET Framework. As definições estão contidas num ficheiro aspnet.config. Existe uma versão deste ficheiro para as versões 2.0 e 4.0 do .NET Framework. (As versões 3.0 e 3.5 do .NET Framework partilham o ficheiro aspnet.config com a versão 2.0.)

Importante

Se correr o IIS 7.0 no Windows 7, pode configurar um ficheiro de aspnet.config separado para cada pool de aplicações. Isto permite-te adaptar o desempenho dos threads para cada pool de aplicações.

Para a maxConcurrentRequestsPerCPU definição, a definição padrão de "5000" no .NET Framework 4 desativa efetivamente a limitação de pedidos controlada pela ASP.NET, a menos que tenha realmente 5000 ou mais pedidos por CPU. A configuração padrão depende, em vez disso, do pool de threads CLR para gerir automaticamente a concorrência por CPU. Aplicações que fazem uso extensivo do processamento assíncrono de pedidos, ou que têm muitos pedidos de longa duração bloqueados nas E/S de rede, beneficiarão do aumento do limite padrão no .NET Framework 4. Definir maxConcurrentRequestsPerCPU para zero desativa o uso de threads geridos para processar pedidos ASP.NET. Quando uma aplicação corre num pool de aplicações IIS, os pedidos permanecem na thread de I/O IIS e, por isso, a concorrência é limitada pelas definições da thread IIS.

A requestQueueLimit configuração funciona da mesma forma que o requestQueueLimit atributo do elemento processModel , que está definido nos ficheiros Web.config para ASP.NET aplicações. No entanto, a requestQueueLimit definição num ficheiro aspnet.config sobrepõe-se à requestQueueLimit definição num ficheiro Web.config. Ou seja, se ambos os atributos estiverem definidos (por defeito, isto é verdade), a requestQueueLimit definição no ficheiro aspnet.config tem prioridade.

Example

O exemplo seguinte mostra como configurar ASP.NET comportamento a nível de processo no ficheiro aspnet.config nas seguintes circunstâncias:

  • A aplicação está alojada num pool de aplicações IIS 7.0.

  • O IIS 7.0 está a correr em modo Integrado.

  • A aplicação utiliza 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