<applicationPool> Element (Web Settings) [Elemento applicationPool> (configurações da Web)]
Especifica as definições de configuração 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 a 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>
Syntax
<applicationPool
maxConcurrentRequestsPerCPU="5000"
maxConcurrentThreadsPerCPU="0"
requestQueueLimit="5000" />
Atributos e elementos
As seções a seguir descrevem atributos, elementos filho e elementos pai.
Atributos
Atributo | Descrição |
---|---|
maxConcurrentRequestsPerCPU |
Especifica quantas solicitações simultâneas ASP.NET são permitidas 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 a simultaneidade ASP.NET, 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 o 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 estará sujeito a essa configuração. |
Elementos filho
Nenhum.
Elementos pai
Elemento | Descrição |
---|---|
<system.web> | Contém informações sobre como o ASP.NET interage com um aplicativo host. |
Comentários
Quando você executa o IIS 7.0 ou versões posteriores no modo Integrado, essa combinação de elementos permite configurar como o ASP.NET gerencia threads e como ele enfileira solicitações quando o aplicativo está 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 configurações applicationPool
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 adaptar o desempenho dos threads para cada pool de aplicativos.
Para a configuração maxConcurrentRequestsPerCPU
, a configuração padrão de "5000" no .NET Framework 4 desativa efetivamente 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. Definir maxConcurrentRequestsPerCPU
como zero desativa o uso de threads gerenciados para processar solicitações ASP.NET. 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 configuração requestQueueLimit
funciona da mesma forma que o atributo requestQueueLimit
do elemento processModel, que é definido nos arquivos Web.config para aplicativos ASP.NET. No entanto, a configuração requestQueueLimit
em um arquivo aspnet.config substitui a configuração requestQueueLimit
em um arquivo Web.config. Em outras palavras, se ambos os atributos forem definidos (por padrão, isso é verdadeiro), a configuração requestQueueLimit
no arquivo aspnet.config terá precedência.
Exemplo
O exemplo a seguir mostra como configurar o comportamento ASP.NET 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>