Compartir vía


Aplicar opciones de configuración de IIS

De forma predeterminada, los adaptadores WCF basados en SOAP, HTTP y HTTP (y .NET en general) abren solo dos conexiones HTTP simultáneas de cada instancia de host de BizTalk a cualquier servidor de destino específico. Por ejemplo, si tiene un puerto de envío SOAP que envía mensajes a http://www.contoso.com/SomeWebService.asmx, de forma predeterminada, cada instancia de host que se ejecuta en cada BizTalk Server abrirá solo dos conexiones HTTP simultáneas a www.contoso.com, independientemente del número de mensajes que se deben enviar.

Esta configuración se ajusta a la RFC de IETF para la especificación HTTP 1.1 y, aunque es adecuada para escenarios de usuario, no está optimizada para las comunicaciones de servidor de alto rendimiento a servidor. La configuración predeterminada limita eficazmente las llamadas HTTP y SOAP salientes a cada servidor de destino a dos envíos simultáneos de cada instancia de host de BizTalk Server.

Configuración de ASP.NET MaxConcurrentRequests para el modo integrado de IIS 7.0

Cuando ASP.NET 2.0 se hospeda en IIS 7.0 en modo integrado, el uso de subprocesos se controla de forma diferente a en IIS 6.0 o en IIS 7.0 en modo clásico. Cuando ASP.NET 2.0 se hospeda en IIS 7.0 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.0 en modo integrado, se omiten los elementos minFreeThreads y minLocalRequestFreeThreads del elemento "httpRuntime" en el machine.config. Para el modo integrado de IIS 7.0, 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>

Como regla general, MaxConcurrentRequestsPerCPU debe establecerse en un valor muy grande, como 5000.

En el modo integrado de IIS 7.0, 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 se siguen usando 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.0 y 6.0, consulte el blog de Thomas Marquardt sobre ASP.NET uso de subprocesos en IIS 7.0 y 6.0 (https://go.microsoft.com/fwlink/?LinkId=157518).

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:

  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:

  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.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.

Nota

La propiedad Límite de subprocesos de ASP por procesador para IIS 7.0 reemplaza la configuración aspbase ASPProcessorThreadMax de IIS 6.0. Para obtener información sobre la configuración aspbase ASPProcessorThreadMax de IIS 6.0, vea Tuning ASP Metabase Settings () (Optimización de la configuración de metabase de ASP [https://go.microsoft.com/fwlink/?LinkId=158834] en MSDN).

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.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.

Nota

La propiedad Longitud de cola de ASP para IIS 7.0 reemplaza el valor de Metabase asp AspRequestQueueMax de IIS 6.0. Para obtener información sobre la configuración de metabase asp AspRequestQueueMax de IIS 6.0, vea Tuning ASP Metabase Settings () (Optimización de la configuración de metabase de ASP [https://go.microsoft.com/fwlink/?LinkId=158834] en MSDN).

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).

Consulte también

Lista de comprobación: configuración de BizTalk Server