Compartilhar via


Limites padrão para sites <limits>

Visão geral

O elemento <limits> do elemento <siteDefaults> define as configurações padrão que limitam a quantidade de largura de banda, o número de conexões ou o tempo limite de conexão para solicitações de cliente para um site.

Observação

Se o elemento <limits> estiver configurado na seção <siteDefaults> e na seção <site> de um site específico, a configuração na seção <site> será usada para esse site.

Compatibilidade

Versão Observações
IIS 8.5 O elemento <limits> não foi modificado no IIS 8.5.
IIS 8.0 O elemento <limits> não foi modificado no IIS 8.0.
IIS 7.5 O elemento <limits> não foi modificado no IIS 7.5.
IIS 7.0 O elemento <limits> do elemento <siteDefaults> foi introduzido no IIS 7.0.
IIS 6,0 O elemento <limits> substitui as seguintes configurações de metabase do IIS 6.0:
  • ConnectionTimeout
  • MaxBandwidth
  • MaxConnections

Instalação

O elemento <limits> do elemento <siteDefaults> está incluído na instalação padrão do IIS 7 e versões posteriores.

Instruções

Como configurar as opções de limite de conexão padrão para um servidor

  1. Abra o Gerenciador dos Serviços de Informações da Internet (IIS):

    • Caso você esteja usando o Windows Server 2012 ou o Windows Server 2012 R2:

      • Na barra de tarefas, clique em Gerenciador do Servidor, em Ferramentas e em Gerenciador dos Serviços de Informações da Internet (IIS).
    • Se você estiver usando o Windows 8 ou Windows 8.1:

      • Mantenha pressionada a tecla Windows, pressione a letra X e clique em Painel de Controle.
      • Clique em Ferramentas Administrativas e clique duas vezes em Gerenciador dos Serviços de Informações da Internet (IIS).
    • Caso você esteja usando o Windows Server 2008 ou o Windows Server 2008 R2:

      • Na barra de tarefas, clique em Iniciar, vá para Ferramentas Administrativas e clique em Gerenciador dos Serviços de Informações da Internet (IIS).
    • Se você estiver usando o Windows Vista ou Windows 7:

      • Na barra de tarefas, clique em Iniciar e, depois, em Painel de Controle.
      • Clique duas vezes em Ferramentas Administrativas e clique duas vezes em Gerenciador dos Serviços de Informações da Internet (IIS).
  2. No painel Conexões, clique no nó Sites.

  3. No painel Sites, clique em Definir Padrões do Site... no painel Ações.
    Screenshot of the Sites pane with the Default Web Site listed.

  4. Na caixa de diálogo Padrões do Site, expanda Limites, especifique as opções de limite e clique em OK.
    Screenshot of the Web Site Defaults dialog with General, Behavior, Connection Limits, and Failed Request Tracing options.

Configuração

Atributos

Atributo Descrição
connectionTimeout Atributo timeSpan opcional.

Especifica o tempo (em segundos) que o IIS aguarda antes de desconectar uma conexão considerada inativa. As conexões podem ser consideradas inativas pelos seguintes motivos:
  • O temporizador HTTP.sys Timer_ConnectionIdle expirou. A conexão expirou e permanece ociosa.
  • O temporizador HTTP.sys Timer_EntityBody expirou. A conexão expirou antes da chegada do corpo da entidade de solicitação. Quando estiver claro que uma solicitação tem um corpo de entidade, a API HTTP ativa o temporizador Timer_EntityBody. Inicialmente, o limite desse temporizador é definido como o valor connectionTimeout. Cada vez que outra indicação de dados é recebida nessa solicitação, a API HTTP redefine o temporizador para dar à conexão mais minutos, conforme especificado no atributo connectionTimeout.
  • O temporizador HTTP.sys Timer_AppPool expirou. A conexão expirou porque uma solicitação esperou tempo demais em uma fila de pools de aplicativos para um aplicativo de servidor tirá-la da fila e processá-la. Essa duração de tempo limite é connectionTimeout.
O valor padrão é 00:02:00 (dois minutos).
maxBandwidth Atributo uint opcional.

Especifica a largura de banda de rede máxima, em bytes por segundo, que é usada para um site. Use essa configuração para ajudar a evitar a sobrecarrega da rede com a atividade do IIS.

O valor padrão é 4294967295.
maxConnections Atributo uint opcional.

Especifica o número máximo de conexões para um site. Use essa configuração para limitar o número de conexões simultâneas do cliente.

O valor padrão é 4294967295.
maxUrlSegments Atributo uint opcional.

Especifica o número máximo de segmentos permitidos em um URL.

O valor padrão é 32.

Elementos filho

Nenhum.

Exemplo de configuração

O exemplo de configuração a seguir especifica as opções de limits padrão para o IIS 7 e versões posteriores.

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

Exemplo de código

Os exemplos de código a seguir configuram as opções de limits padrão para o IIS 7 e versões posteriores com um connectionTimeout de 3 minutos.

AppCmd.exe

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

Observação

Defina o parâmetro commit para apphost quando usar AppCmd.exe para definir essas configurações. Isso confirma as definições de configuração para a seção de local apropriado no arquivo 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()