Elemento <applicationPool> (Configuración Web)
Especifica las opciones de configuración que usa ASP.NET para administrar el comportamiento de todo el proceso cuando una aplicación de ASP.NET se ejecuta en modo integrado en IIS 7.0 o una versión posterior.
Importante
Este elemento y la característica que admite solo funcionan si la aplicación de ASP.NET se hospeda en IIS 7.0 o versiones posteriores.
<configuración>
<system.web>
<applicationPool>
Sintaxis
<applicationPool
maxConcurrentRequestsPerCPU="5000"
maxConcurrentThreadsPerCPU="0"
requestQueueLimit="5000" />
Atributos y elementos
En las siguientes secciones se describen los atributos, los elementos secundarios y los elementos primarios.
Atributos
Atributo | Descripción |
---|---|
maxConcurrentRequestsPerCPU |
Especifica cuántas solicitudes simultáneas ASP.NET permite por CPU. |
maxConcurrentThreadsPerCPU |
Especifica cuántos subprocesos simultáneos se pueden ejecutar para un grupo de aplicaciones para cada CPU. Esto proporciona una manera alternativa de controlar ASP.NET simultaneidad, ya que puede limitar el número de subprocesos administrados que se pueden usar por CPU para atender solicitudes. De forma predeterminada, esta configuración es 0, lo que significa que ASP.NET no limita el número de subprocesos que se pueden crear por CPU, aunque el grupo de subprocesos CLR también limita el número de subprocesos que se pueden crear. |
requestQueueLimit |
Especifica el número máximo de solicitudes que se pueden poner en cola para ASP.NET en un único proceso. Cuando dos o más aplicaciones ASP.NET se ejecutan en un único grupo de aplicaciones, el conjunto acumulativo de solicitudes que se realizan en cualquier aplicación del grupo de aplicaciones está sujeta a esta configuración. |
Elementos secundarios
Ninguno.
Elementos primarios
Elemento | Descripción |
---|---|
<system.web> | Contiene información sobre cómo interactúa ASP.NET con una aplicación host. |
Comentarios
Al ejecutar IIS 7.0 o una versión posterior en modo integrado, esta combinación de elementos le permite configurar cómo ASP.NET administra las solicitudes de subprocesos y colas cuando la aplicación se hospeda en un grupo de aplicaciones de IIS. Si ejecuta IIS 6 o ejecuta IIS 7.0 en modo clásico o en modo ISAPI, esta configuración se omite.
La applicationPool
configuración se aplica a todos los grupos de aplicaciones que se ejecutan en una versión determinada de .NET Framework. La configuración se encuentra en un archivo aspnet.config. Hay una versión de este archivo para las versiones 2.0 y 4.0 de .NET Framework. (Las versiones 3.0 y 3.5 de .NET Framework comparten el archivo aspnet.config con la versión 2.0)
Importante
Si ejecuta IIS 7.0 en Windows 7, puede configurar un archivo aspnet.config independiente para cada grupo de aplicaciones. Esto le permite adaptar el rendimiento de los subprocesos para cada grupo de aplicaciones.
Para la configuración maxConcurrentRequestsPerCPU
, la configuración predeterminada de "5000" en .NET Framework 4 desactiva eficazmente la limitación de solicitudes controlada por ASP.NET, a menos que realmente tenga 5000 solicitudes por CPU. La configuración predeterminada depende en su lugar del grupo de subprocesos de CLR para administrar automáticamente la simultaneidad por CPU. Las aplicaciones que usan ampliamente el procesamiento asincrónico de solicitudes, o que tienen muchas solicitudes de larga duración bloqueadas en la E/S de red, se beneficiarán del mayor límite predeterminado en .NET Framework 4. Si se establece maxConcurrentRequestsPerCPU
en cero, se desactiva el uso de subprocesos administrados para procesar solicitudes ASP.NET. Cuando una aplicación se ejecuta en un grupo de aplicaciones de IIS, las solicitudes permanecen en el subproceso de E/S de IIS y, por lo tanto, la configuración del subproceso de IIS limita la simultaneidad.
La requestQueueLimit
configuración funciona de la misma manera que el requestQueueLimit
atributo del elemento processModel, que se establece en los archivos Web.config para ASP.NET aplicaciones. Sin embargo, la configuración requestQueueLimit
de un archivo aspnet.config invalida la configuración requestQueueLimit
en un archivo Web.config. En otras palabras, si ambos atributos se establecen (de forma predeterminada, esto es true), el requestQueueLimit
valor del archivo aspnet.config tiene prioridad.
Ejemplo
En el ejemplo siguiente se muestra cómo configurar ASP.NET comportamiento de todo el proceso en el archivo aspnet.config en las siguientes circunstancias:
La aplicación se hospeda en un grupo de aplicaciones de IIS 7.0.
IIS 7.0 se ejecuta en modo integrado.
La aplicación usa .NET Framework 3.5 SP1 o una versión posterior.
Los valores del ejemplo son los valores predeterminados.
<configuration>
<system.web>
<applicationPool
maxConcurrentRequestsPerCPU="5000"
maxConcurrentThreadsPerCPU="0"
requestQueueLimit="5000" />
</system.web>
</configuration>