Optimización del rendimiento de IIS

Aplicación de 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 varios de estos parámetros y se proporcionan instrucciones generales para establecer los valores de parámetro para 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, 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 Vista de 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.

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

La depuración asp de IIS debe deshabilitarse en un entorno de producción. Para deshabilitar la depuración de 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 Vista de 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 depuración del lado cliente y Habilitar depuración del lado servidor están establecidos en False.

  1. Haga clic en Inicio, seleccione Todos los programas, 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 Vista de 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 depuración del lado cliente y Habilitar depuración del lado servidor están establecidos en False.

  4. Si es necesario, haga clic en Aplicar en el panel Acciones .

    Deshabilite la depuración para ASP.NET Aplicaciones y servicios web especificando la <sección de compilación debug="false"> del archivo web.config para la aplicación web.

Ajuste del valor de la propiedad Subprocesos de ASP por límite de 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 del límite de subprocesos por procesador hasta que el uso del procesador cumpla al menos el 50 % o superior. Esta configuración puede influir considerablemente en la escalabilidad de las aplicaciones web y en 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, esta configuración 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. De este modo, el servidor puede crear más subprocesos para controlar 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 Subprocesos por límite de procesador, siga estos pasos: En el panel Conexiones , seleccione el servidor web, haga clic para seleccionar Vista de características y, a continuación, haga doble clic en la característica ASP .

  1. Haga clic en Inicio, seleccione Todos los programas, 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 Vista de características y, a continuación, haga doble clic en la característica ASP .

  3. Haga clic para expandir Propiedades de límites en Comportamiento, haga clic en Subprocesos por límite de procesador, escriba el valor deseado para 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 del <elemento limits> del elemento asp> IIS 7.5/7.0<, vea Límites <>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.

Ajuste del valor de la propiedad Longitud de la cola de ASP

El objetivo de optimizar esta propiedad es garantizar 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 Longitud de cola de ASP es demasiado bajo, el servidor enviará el error HTTP 503 con mayor frecuencia. Si el valor de la propiedad Longitud de cola de ASP es demasiado alto, los usuarios pueden percibir que el servidor no responde cuando, de hecho, su solicitud está esperando en la cola. Al observar la cola durante períodos de tráfico elevado, debe distinguir 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, garantizar el tiempo de respuesta y limitar el sistema para evitar sobrecargas cuando se produzcan picos inesperados y sostenidos. Si no tiene datos para ajustar la propiedad Longitud de cola de ASP, un buen punto de partida será establecer una relación uno a uno de las colas en 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 ajuste desde allí.

Para aumentar el valor de la propiedad Queue Length, siga estos pasos:

  1. Haga clic en Inicio, seleccione Todos los programas, 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 Vista de características y, a continuación, haga doble clic en la característica ASP .

  3. Haga clic para expandir Propiedades de límites en Comportamiento, haga clic en Longitud de cola, escriba el valor deseado para Longitud de 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 del <elemento limits> del elemento asp> IIS 7.5/7.0<, vea Límites <>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.

Ajuste de la entrada del Registro MaxPoolThreads

Esta configuración especifica el número de subprocesos de grupo que se van a crear por procesador. Los subprocesos de grupo watch la red para las solicitudes y procesan las solicitudes entrantes. El recuento de MaxPoolThreads no incluye subprocesos consumidos por las aplicaciones ISAPI. Por lo general, no debe crear más de 20 subprocesos por procesador. MaxPoolThreads es una entrada del Registro 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).

Configuración de 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 forma 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 simultáneamente en lugar del número de subprocesos que ejecutan solicitudes simultáneamente. En escenarios sincrónicos, esto limitará indirectamente el número de subprocesos porque el número de solicitudes será el mismo que el número de subprocesos. Pero en escenarios asincrónicos, es probable que el número de solicitudes y subprocesos sea muy diferente porque podría tener muchas más solicitudes que los subprocesos. Al ejecutar ASP.NET 2.0 en IIS 7.5 en modo integrado, se omiten los elementos minFreeThreads y minLocalRequestFreeThreads del elemento "httpRuntime" en el machine.config. Para el modo integrado de IIS 7.5, un DWORD denominado MaxConcurrentRequestsPerCPU dentro de 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 se limita a 12. .NET Framework 3.5 SP1 incluye una actualización de los archivos binarios v2.0 que admite la configuración de grupos de aplicaciones de IIS a través del archivo aspnet.config. Esta configuración solo se aplica al modo integrado (el modo clásico o ISAPI omite esta configuración). A continuación se muestra la nueva sección de configuración de aspnet.config con valores predeterminados:

<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 usan para controlar el número de solicitudes en ejecución, por se, pero todavía se usan para controlar el tamaño del grupo de subprocesos CLR usado por ASP.NET. Cuando la sección "processModel" del machine.config tiene "autoConfig=true" (que es la configuración predeterminada), esto proporcionará al grupo de aplicaciones hasta 100 subprocesos de trabajo (MaxWorkerThreads) por CPU lógica. Por lo tanto, un servidor básico común con 2 CPU de doble núcleo tendría 400 MaxWorkerThreads. Esto debería ser suficiente para todas las aplicaciones más exigentes.

Para obtener más información sobre cómo configurar ASP.NET uso de subprocesos en IIS 7.5, consulte el blog de Thomas Marquardt sobre ASP.NET uso de subprocesos 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 tanto, permitirá que se ejecuten muchas solicitudes asincrónicas simultáneamente. Para obtener más información, vea <elemento applicationPool> (Configuración web) (https://go.microsoft.com/fwlink/?LinkID=205339).

Para el modo integrado de IIS 7.5/7.0, un 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.

Habilitación de 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 un recurso UNC.

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

    1. Haga clic en Inicio, seleccione Todos los programas, 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 Vista de 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, 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 Vista de 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