<applicationPool> Element (Definições Web)
Especifica as definições de configuração utilizadas pelo ASP.NET para gerir o comportamento ao nível do processo quando uma aplicação ASP.NET está em execução no 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.
<configuração>
<system.web>
<applicationPool>
Syntax
<applicationPool
maxConcurrentRequestsPerCPU="5000"
maxConcurrentThreadsPerCPU="0"
requestQueueLimit="5000" />
Atributos e Elementos
As secções seguintes descrevem atributos, elementos subordinados e elementos principais.
Atributos
Atributo | Descrição |
---|---|
maxConcurrentRequestsPerCPU |
Especifica quantos pedidos simultâneos ASP.NET permite por CPU. |
maxConcurrentThreadsPerCPU |
Especifica quantos threads simultâneos podem ser executados para um conjunto de aplicações para cada CPU. Isto fornece uma forma alternativa de controlar ASP.NET simultaneidade, uma vez que pode limitar o número de threads geridos que podem ser utilizados por CPU para servir pedidos. Por predefinição, 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 conjunto 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 em fila de espera para ASP.NET num único processo. Quando duas ou mais aplicações ASP.NET são executadas num único conjunto de aplicações, o conjunto cumulativo de pedidos que estão a ser feitos a qualquer aplicação no conjunto de aplicações está sujeito a esta definição. |
Elementos Subordinados
Nenhum.
Elementos Principais
Elemento | Descrição |
---|---|
<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 no modo Integrado, esta combinação de elementos permite-lhe configurar a forma como ASP.NET gere threads e pedidos de filas quando a aplicação está alojada num conjunto de aplicações do IIS. Se executar o IIS 6 ou executar o IIS 7.0 no modo Clássico ou no modo ISAPI, estas definições serão ignoradas.
As applicationPool
definições aplicam-se a todos os conjuntos aplicacionais executados numa versão específica 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 partilhar o ficheiro aspnet.config com a versão 2.0.)
Importante
Se executar o IIS 7.0 no Windows 7, pode configurar um ficheiro de aspnet.config separado para cada conjunto aplicacional. Isto permite-lhe adaptar o desempenho dos threads para cada conjunto de aplicações.
Para a maxConcurrentRequestsPerCPU
definição, a predefinição de "5000" no .NET Framework 4 desativa efetivamente a limitação de pedidos controlada por ASP.NET, a menos que tenha realmente 5000 ou mais pedidos por CPU. A predefinição depende, em vez disso, do conjunto de threads CLR para gerir automaticamente a simultaneidade por CPU. As aplicações que utilizam extensivamente o processamento de pedidos assíncronos ou que têm muitos pedidos de execução prolongada bloqueados na E/S de rede beneficiarão do aumento do limite predefinido no .NET Framework 4. Definir maxConcurrentRequestsPerCPU
como zero desativa a utilização de threads geridos para processamento ASP.NET pedidos. Quando uma aplicação é executada num conjunto de aplicações do IIS, os pedidos permanecem no thread de E/S do IIS e, por conseguinte, a simultaneidade é limitada pelas definições de thread do IIS.
A requestQueueLimit
definição funciona da mesma forma que o requestQueueLimit
atributo do elemento processModel , que está definido nos ficheiros Web.config para aplicações ASP.NET. No entanto, a requestQueueLimit
definição num ficheiro de aspnet.config substitui a requestQueueLimit
definição num ficheiro Web.config. Por outras palavras, se ambos os atributos estiverem definidos (por predefinição, isto é verdade), a requestQueueLimit
definição no ficheiro aspnet.config tem precedência.
Exemplo
O exemplo seguinte mostra como configurar ASP.NET comportamento ao nível do processo no ficheiro de aspnet.config nas seguintes circunstâncias:
A aplicação está alojada num conjunto de aplicações do IIS 7.0.
O IIS 7.0 está em execução no modo Integrado.
A aplicação está a utilizar o .NET Framework 3,5 SP1 ou uma versão posterior.
Os valores no exemplo são os valores predefinidos.
<configuration>
<system.web>
<applicationPool
maxConcurrentRequestsPerCPU="5000"
maxConcurrentThreadsPerCPU="0"
requestQueueLimit="5000" />
</system.web>
</configuration>