Optimización del rendimiento de IIS

Aplicar opciones de configuración de IIS para mejorar el rendimiento de IIS

Internet Information Services (IIS) expone numerosos parámetros de configuración que afectan al rendimiento de IIS. En este tema se describen algunos de estos parámetros y se proporcionan instrucciones generales para establecer los valores de los parámetros con el fin de mejorar el rendimiento de IIS.

Registrar solo información esencial o deshabilitar completamente el registro de IIS

El registro de IIS debe minimizarse o incluso deshabilitarse en un entorno de producción. Para deshabilitar el registro, siga estos pasos:

  1. Haga clic en Inicio, seleccione todos los programas, haga clic en herramientas administrativas y, a continuación, haga clic en Administrador de Internet Information Services (IIS).

  2. En el panel conexiones , haga clic para expandir sitios, haga clic para seleccionar el sitio web para el que desea deshabilitar el registro, haga clic para seleccionar la vista características y, a continuación, haga doble clic en la característica registro .

  3. Haga clic en deshabilitar en el panel acciones para deshabilitar el registro de este sitio Web.

Deshabilitar la depuración ASP de IIS en entornos de producción

La depuración ASP de IIS debe estar deshabilitada en un entorno de producción. Para deshabilitar la depuración ASP de IIS, siga estos pasos: en el panel conexiones , haga clic para expandir sitios, haga clic para seleccionar el sitio web para el que desea deshabilitar la depuración de ASP, haga clic para seleccionar la vista características y, a continuación, haga doble clic en la característica asp . Haga clic para expandir compilación, haga clic para expandir propiedades de depuración y compruebe que Habilitar la depuración de cliente y Habilitar la depuración del servidor están establecidos en false.

  1. Haga clic en Inicio, seleccione todos los programas, haga clic en herramientas administrativas y, a continuación, haga clic en Administrador de Internet Information Services (IIS).

  2. En el panel conexiones , haga clic para expandir sitios, haga clic para seleccionar el sitio web para el que desea deshabilitar la depuración de ASP, haga clic para seleccionar la vista características y, a continuación, haga doble clic en la característica asp .

  3. Haga clic para expandir compilación, haga clic para expandir propiedades de depuración y compruebe que Habilitar la depuración de cliente y Habilitar la depuración del servidor están establecidos en false.

  4. Si es necesario, haga clic en aplicar en el panel acciones .

    Deshabilite la depuración de aplicaciones y servicios Web de ASP.NET especificando la <compilation debug="false"> sección en el archivo de web.config para la aplicación Web.

Ajustar el valor de la propiedad de límite de subprocesos ASP por procesador

La propiedad límite de subprocesos de ASP por procesador especifica el número máximo de subprocesos de trabajo por procesador que crea IIS. Aumente el valor de subprocesos por límite de procesador hasta que el uso del procesador cumpla al menos el 50 por ciento o una versión superior. Esta configuración puede influir drásticamente en la escalabilidad de las aplicaciones web y el rendimiento del servidor en general. Dado que esta propiedad define el número máximo de solicitudes ASP que se pueden ejecutar simultáneamente, este valor debe permanecer en el valor predeterminado a menos que las aplicaciones ASP realicen llamadas extendidas a componentes externos. En este caso, puede aumentar el valor de subprocesos por límite de procesador. Esto permite que el servidor cree más subprocesos para administrar más solicitudes simultáneas. El valor predeterminado de subprocesos por límite de procesador es 25. El valor máximo recomendado para esta propiedad es 100.

Para aumentar el valor de los subprocesos por límite de procesador, siga estos pasos: en el panel conexiones , seleccione el servidor Web, haga clic para seleccionar la vista características y, a continuación, haga doble clic en la característica asp .

  1. Haga clic en Inicio, seleccione todos los programas, haga clic en herramientas administrativas y, a continuación, haga clic en Administrador de Internet Information Services (IIS).

  2. En el panel conexiones , seleccione el servidor Web, haga clic para seleccionar la vista características y, a continuación, haga doble clic en la característica asp .

  3. Haga clic para expandir límites propiedades en comportamiento, haga clic en subprocesos por límite de procesador, escriba el valor que desee para los subprocesos por límite de procesador y haga clic en aplicar en el panel acciones .

    Para obtener más información sobre cómo modificar las propiedades en el <limits> elemento del elemento IIS 7.5/7.0 <asp> , vea límites <limits> de ASP ( https://go.microsoft.com/fwlink/?LinkId=157483) .

Nota

Dado que esta propiedad solo se puede aplicar en el nivel de servidor, la modificación de esta propiedad afecta a todos los sitios web que se ejecutan en el servidor.

Optimizar el valor de la propiedad longitud de cola de ASP

El objetivo de optimizar esta propiedad es asegurar un buen tiempo de respuesta a la vez que minimiza la frecuencia con la que el servidor envía el error HTTP 503 (servidor demasiado ocupado) a los clientes cuando la cola de solicitudes ASP está llena. Si el valor de la propiedad de longitud de cola de ASP es demasiado bajo, el servidor enviará el error HTTP 503 con mayor frecuencia. Si el valor de la propiedad de longitud de cola de ASP es demasiado alto, es posible que los usuarios perciban que el servidor no responde cuando de hecho su solicitud está esperando en la cola. Observando la cola durante los períodos de gran tráfico, debe discernir un patrón de picos y valles de solicitudes Web. Anote el valor máximo y establezca el valor de la propiedad longitud de la cola de ASP justo encima del valor máximo. Use la cola para controlar los picos a corto plazo, asegúrese de que el tiempo de respuesta y limite el sistema para evitar la sobrecarga cuando se produzcan picos inesperados. Si no tiene datos para ajustar la propiedad longitud de la cola de ASP, un buen punto de partida será establecer una relación de uno a uno de las colas con el total de subprocesos. Por ejemplo, si la propiedad límite de subprocesos de ASP por procesador está establecida en 25 y tiene cuatro procesadores (4 * 25 = 100 subprocesos), establezca la propiedad longitud de cola de ASP en 100 y sintonice desde allí.

Para aumentar el valor de la propiedad longitud de la cola, siga estos pasos:

  1. Haga clic en Inicio, seleccione todos los programas, haga clic en herramientas administrativas y, a continuación, haga clic en Administrador de Internet Information Services (IIS).

  2. En el panel conexiones , seleccione el servidor Web, haga clic para seleccionar la vista características y, a continuación, haga doble clic en la característica asp .

  3. Haga clic para expandir límites propiedades en comportamiento, haga clic en longitud de la cola, escriba el valor deseado para longitud de la cola y, a continuación, haga clic en aplicar en el panel acciones .

    Para obtener más información sobre cómo modificar las propiedades en el <limits> elemento del elemento IIS 7.5/7.0 <asp> , vea límites <limits> de ASP ( https://go.microsoft.com/fwlink/?LinkId=157483) .

Nota

Dado que esta propiedad solo se puede aplicar en el nivel de servidor, la modificación de esta propiedad afecta a todos los sitios web que se ejecutan en el servidor.

Ajustar la entrada del registro MaxPoolThreads

Esta configuración especifica el número de subprocesos de grupo que se crearán por procesador. Los subprocesos del grupo ven la red en busca de solicitudes y procesan las solicitudes entrantes. El número de MaxPoolThreads no incluye los subprocesos que utilizan las aplicaciones ISAPI. Por lo general, no debe crear más de 20 subprocesos por procesador. MaxPoolThreads es una entrada del registro de REG_DWORD ubicada en HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\InetInfo\Parameters\ con un valor predeterminado de 4.

Deshabilitar el seguimiento de servicios WCF

Use la herramienta editor de configuración (SvcConfigEditor.exe) para deshabilitar el seguimiento de servicios WCF en un entorno de producción. Para obtener más información sobre la herramienta editor de configuración, vea herramienta editor de configuración (SvcConfigEditor.exe) ( https://go.microsoft.com/fwlink/?LinkID=127070) .

Configurar ASP.NET 2,0 MaxConcurrentRequests para el modo integrado de IIS 7.5/7.0

Cuando ASP.NET 2,0 se hospeda en IIS 7.5/7.0 en modo integrado, el uso de subprocesos se controla de manera diferente que en IIS 7.5/7.0 en modo clásico. Cuando ASP.NET 2,0 se hospeda en IIS 7,5 en modo integrado, ASP.NET 2,0 restringe el número de solicitudes que se ejecutan de forma simultánea en lugar del número de subprocesos que ejecutan las solicitudes simultáneamente. En el caso de escenarios sincrónicos, se limitará indirectamente el número de subprocesos, ya que el número de solicitudes será el mismo que el número de subprocesos. Pero para los escenarios asincrónicos, el número de solicitudes y subprocesos probablemente será muy diferente porque podría tener muchas más solicitudes que subprocesos. Al ejecutar ASP.NET 2,0 en IIS 7,5 en el modo integrado, se omiten los los elementos minFreeThreads y minLocalRequestFreeThreads del elemento "httpRuntime" en el machine.config. En el modo integrado de IIS 7,5, un valor DWORD denominado MaxConcurrentRequestsPerCPU dentro HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ASP.NET\2.0.50727.0 determina el número de solicitudes simultáneas por CPU. De forma predeterminada, la clave del registro no existe y el número de solicitudes por CPU está limitado a 12. .NET Framework 3,5 SP1 incluye una actualización de los archivos binarios v 2.0 que admite la configuración de grupos de aplicaciones de IIS a través del archivo de aspnet.config. Esta configuración se aplica solo al modo integrado (el modo clásico/ISAPI omite esta configuración). La nueva sección aspnet.config configuración con valores predeterminados se muestra a continuación:

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

En el modo integrado de IIS 7,5, los parámetros maxWorkerThreads y maxIoThreads de la sección "processModel" del archivo machine.config no se utilizan para controlar el número de solicitudes en ejecución, según se usa, pero todavía se utilizan para controlar el tamaño del grupo de subprocesos de CLR usado por ASP.NET. Cuando la sección "processModel" del machine.config tiene "AutoConfig = true" (que es la configuración predeterminada), se asignará al grupo de aplicaciones hasta 100 subprocesos de trabajo (MaxWorkerThreads) por CPU lógica. Por lo tanto, un servidor estándar común con 2 CPU de doble núcleo tendría 400 MaxWorkerThreads. Esto debe ser suficiente para todas las aplicaciones excepto para las más exigentes.

Para obtener más información acerca de cómo configurar el uso de subprocesos de ASP.NET en IIS 7,5, consulte el blog de Thomas Marquardt sobre el uso de subprocesos de ASP.net en iis 7,0 ( https://go.microsoft.com/fwlink/?LinkId=157518) .

Configurar ASP.NET 4 MaxConcurrentRequests para el modo integrado de IIS 7.5/7.0

Con .NET Framework 4, la configuración predeterminada para maxConcurrentRequestsPerCPU es 5000, que es un número muy grande y, por lo tanto, permite que se ejecuten muchas solicitudes asincrónicas simultáneamente. Para obtener más información, vea <applicationPool> elemento (configuración Web) ( https://go.microsoft.com/fwlink/?LinkID=205339) .

En el modo integrado de IIS 7.5/7.0, un valor DWORD denominado MaxConcurrentRequestsPerCPU dentro de HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ASP.NET\4.0.30319.0 determina el número de solicitudes simultáneas por CPU. De forma predeterminada, la clave del registro no existe y el número de solicitudes por CPU está limitado a 5000.

Habilitar la compresión HTTP de IIS

Para usar de forma más eficaz el ancho de banda disponible, habilite la compresión HTTP de IIS. La compresión HTTP proporciona un tiempo de transmisión más rápido entre exploradores habilitados para compresión e IIS, independientemente de si el contenido se sirve desde el almacenamiento local o desde un recurso UNC.

  • Para configurar la compresión en el nivel de servidor Web:

    1. Haga clic en Inicio, seleccione todos los programas, haga clic en herramientas administrativas y, a continuación, haga clic en Administrador de Internet Information Services (IIS).

    2. En el panel conexiones , seleccione el servidor Web, haga clic para seleccionar la vista características y, a continuación, haga doble clic en la característica compresión .

    3. Establezca las opciones de compresión deseadas y, a continuación, haga clic en aplicar en el panel acciones .

  • Para configurar la compresión en el nivel de sitio web:

    1. Haga clic en Inicio, seleccione todos los programas, haga clic en herramientas administrativas y, a continuación, haga clic en Administrador de Internet Information Services (IIS).

    2. En el panel conexiones , haga clic para expandir sitios, haga clic para seleccionar el sitio web para el que desea configurar la compresión, haga clic para seleccionar la vista características y, a continuación, haga doble clic en la característica compresión .

    3. Establezca las opciones de compresión deseadas y, a continuación, haga clic en aplicar en el panel acciones .

Consulte también

Optimización del rendimiento