Compartir a través de


Límites predeterminados para los límites web <limits>

Información general

El elemento <limits> del elemento <siteDefaults> configura valores predeterminados que limitan la cantidad de ancho de banda, el número de conexiones o el tiempo de espera de conexión para las solicitudes de cliente para un servidor web.

Nota:

Si el elemento <limits> está configurado en la sección <siteDefaults> y en la sección <site> de un sitio específico, la configuración de la sección <site> se usa para ese sitio.

Compatibilidad

Versión Notas
IIS 8.5 El elemento <limits> no se modificó en IIS 8.5.
IIS 8.0 El elemento <limits> no se modificó en IIS 8.0.
IIS 7.5 El elemento <limits> no se modificó en IIS 7.5.
IIS 7.0 El elemento <limits> del elemento <siteDefaults> se introdujo en IIS 7.0.
IIS 6,0 El elemento <limits> reemplaza la siguiente configuración de metabase de IIS 6.0:
  • ConnectionTimeout
  • MaxBandwidth
  • MaxConnections

Configuración

El elemento <limits> del elemento <siteDefaults> se incluye en la instalación predeterminada de IIS 7 y versiones posteriores.

Procedimientos

Configuración de las opciones de límite de conexión predeterminadas para un servidor

  1. Abra el Administrador de Internet Information Services (IIS):

    • Si usa Windows Server 2012 o Windows Server 2012 R2:

      • En la barra de tareas, haga clic en Administrador del servidor, en Herramientas y, a continuación, en Administrador de Internet Information Services (IIS).
    • Si usa Windows 8 o Windows 8.1:

      • Mantenga presionada la tecla Windows, presione la letra X y haga clic en Panel de control.
      • En Panel de control, haga clic en Herramientas administrativas y, a continuación, haga doble clic en Administrador de Internet Information Services (IIS).
    • Si usa Windows Server 2008 o Windows Server 2008 R2:

      • En la barra de tareas, haga clic en Inicio, seleccione Herramientas administrativas y, a continuación, haga clic en Administrador de Internet Information Services (IIS).
    • Si usa Windows Vista o Windows 7:

      • En la barra de tareas, haga clic en Inicio y, luego, haga clic en Panel de control.
      • Haga doble clic en Herramientas administrativas y, a continuación, haga doble clic en Administrador de Internet Information Services (IIS).
  2. En el panel Conexiones, haga clic en el nodo Sitios.

  3. En el panel Sitios, haga clic en Establecer valores predeterminados del sitio web en el panel Acciones.
    Screenshot of the Sites pane with the Default Web Site listed.

  4. En el cuadro de diálogo Valores predeterminados del sitio web, expanda Límites, especifique las opciones de límite y, a continuación, haga clic en Aceptar.
    Screenshot of the Web Site Defaults dialog with General, Behavior, Connection Limits, and Failed Request Tracing options.

Configuración

Atributos

Atributo Descripción
connectionTimeout Atributo timeSpan opcional.

Especifica el tiempo (en segundos) que IIS espera antes de desconectar una conexión que se considera inactiva. Las conexiones se pueden considerar inactivas por los siguientes motivos:
  • El temporizador HTTP.sys Timer_ConnectionIdle expiró. La conexión expiró y permanece inactiva.
  • El temporizador HTTP.sys Timer_EntityBody expiró. La conexión expiró antes de que llegara el cuerpo de la entidad de solicitud. Cuando está claro que una solicitud tiene un cuerpo de entidad, la API HTTP activa el temporizador Timer_EntityBody. Inicialmente, el límite de este temporizador se establece en el valor connectionTimeout. Cada vez que se recibe otra indicación de datos en esta solicitud, la API HTTP restablece el temporizador para proporcionar a la conexión más minutos, tal como se especifica en el atributo connectionTimeout.
  • El temporizador HTTP.sys Timer_AppPool expiró. La conexión expiró porque una solicitud esperó demasiado tiempo en una cola del grupo de aplicaciones para que una aplicación del servidor la quitara de la cola y la procesara. Esta duración de tiempo de espera es connectionTimeout.
El valor predeterminado es 00:02:00 (dos minutos).
maxBandwidth Atributo uint opcional.

Especifica el ancho de banda de red máximo, en bytes por segundo, que se usa para un sitio. Use esta configuración para evitar sobrecargar la red con la actividad de IIS.

El valor predeterminado es 4294967295.
maxConnections Atributo uint opcional.

Especifica el número máximo de conexiones para un sitio. Use esta configuración para limitar el número de conexiones de cliente simultáneas pendientes de distribución.

El valor predeterminado es 4294967295.
maxUrlSegments Atributo uint opcional.

Especifica el número máximo de segmentos permitidos en una dirección URL.

El valor predeterminado es 32.

Elementos secundarios

Ninguno.

Ejemplo de configuración

En el ejemplo de configuración siguiente se especifican las opciones limits predeterminadas para IIS 7 y versiones posteriores.

<system.applicationHost>
   <sites>
      <siteDefaults>
         <limits connectionTimeout="00:02:00" />
      </siteDefaults>
   </sites>
</system.applicationHost>

Código de ejemplo

Los ejemplos de código siguientes configuran las opciones limits predeterminadas para IIS 7 y versiones posteriores con un connectionTimeout de 3 minutos.

AppCmd.exe

appcmd.exe set config -section:system.applicationHost/sites /siteDefaults.limits.connectionTimeout:"00:03:00" /commit:apphost

Nota:

Debe asegurarse de establecer el parámetrocommit en apphost cuando use AppCmd.exe para configurar estos valores. Esto confirma los valores de configuración en la sección de ubicación adecuada del archivo ApplicationHost.config.

C#

using System;
using System.Text;
using Microsoft.Web.Administration;

internal static class Sample
{
   private static void Main()
   {
      using (ServerManager serverManager = new ServerManager())
      {
         Configuration config = serverManager.GetApplicationHostConfiguration();
         ConfigurationSection sitesSection = config.GetSection("system.applicationHost/sites");
         ConfigurationElement siteDefaultsElement = sitesSection.GetChildElement("siteDefaults");

         ConfigurationElement limitsElement = siteDefaultsElement.GetChildElement("limits");
         limitsElement["connectionTimeout"] = TimeSpan.Parse("00:03:00");

         serverManager.CommitChanges();
      }
   }
}

VB.NET

Imports System
Imports System.Text
Imports Microsoft.Web.Administration

Module Sample

   Sub Main()
      Dim serverManager As ServerManager = New ServerManager
      Dim config As Configuration = serverManager.GetApplicationHostConfiguration
      Dim sitesSection As ConfigurationSection = config.GetSection("system.applicationHost/sites")
      Dim siteDefaultsElement As ConfigurationElement = sitesSection.GetChildElement("siteDefaults")

      Dim limitsElement As ConfigurationElement = siteDefaultsElement.GetChildElement("limits")
      limitsElement("connectionTimeout") = TimeSpan.Parse("00:03:00")

      serverManager.CommitChanges()
   End Sub

End Module

JavaScript

var adminManager = new ActiveXObject('Microsoft.ApplicationHost.WritableAdminManager');
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST";
var sitesSection = adminManager.GetAdminSection("system.applicationHost/sites", "MACHINE/WEBROOT/APPHOST");
var siteDefaultsElement = sitesSection.ChildElements.Item("siteDefaults");

var limitsElement = siteDefaultsElement.ChildElements.Item("limits");
limitsElement.Properties.Item("connectionTimeout").Value = "00:03:00";

adminManager.CommitChanges();

VBScript

Set adminManager = WScript.CreateObject("Microsoft.ApplicationHost.WritableAdminManager")
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST"
Set sitesSection = adminManager.GetAdminSection("system.applicationHost/sites", "MACHINE/WEBROOT/APPHOST")
Set siteDefaultsElement = sitesSection.ChildElements.Item("siteDefaults")

Set limitsElement = siteDefaultsElement.ChildElements.Item("limits")
limitsElement.Properties.Item("connectionTimeout").Value = "00:03:00"

adminManager.CommitChanges()