Поделиться через


Ограничения по умолчанию для ограничений веб-сайтов <>

Общие сведения

Элемент <limits><siteDefaults> элемента настраивает параметры по умолчанию, ограничивающие пропускную способность, количество подключений или время ожидания подключения для клиентских запросов к веб-серверу.

Примечание

<limits> Если элемент настроен как в разделе, так <siteDefaults> и в <site> разделе для определенного сайта, конфигурация в <site> разделе используется для этого сайта.

Совместимость

Версия Примечания
IIS 8,5 Элемент <limits> не был изменен в IIS 8.5.
IIS 8,0 Элемент <limits> не был изменен в IIS 8.0.
IIS 7,5 Элемент <limits> не был изменен в IIS 7.5.
IIS 7.0 Элемент <limits> элемента появился <siteDefaults> в IIS 7.0.
IIS 6,0 Элемент <limits> заменяет следующие параметры метабазы IIS 6.0:
  • ConnectionTimeout
  • MaxBandwidth
  • MaxConnections

Настройка

Элемент <limits><siteDefaults> элемента включен в установку iis 7 и более поздних версий по умолчанию.

Инструкции

Настройка параметров ограничения подключений по умолчанию для сервера

  1. Откройте диспетчер служб IIS.

    • Если вы используете Windows Server 2012 или Windows Server 2012 R2:

      • На панели задач щелкните диспетчер сервера, инструменты, а затем диспетчер служб IIS.
    • Если вы используете Windows 8 или Windows 8.1:

      • Удерживая нажатой клавишу Windows, нажмите букву X и щелкните панель управления.
      • Щелкните Администрирование, а затем дважды щелкните диспетчер служб IIS.
    • Если вы используете Windows Server 2008 или Windows Server 2008 R2:

      • На панели задач нажмите кнопку Пуск, наведите указатель на пункт Администрирование, а затем щелкните Диспетчер служб IIS.
    • Если вы используете Windows Vista или Windows 7:

      • На панели задач нажмите кнопку Пуск, а затем выберите пункт панель управления.
      • Дважды щелкните элемент Администрирование, а затем дважды щелкните диспетчер служб IIS.
  2. В области Подключения щелкните узел Сайты .

  3. В области Сайты щелкните Задать значения по умолчанию веб-сайта... в области Действия .
    Снимок экрана: панель

  4. В диалоговом окне Веб-сайт по умолчанию разверните узел Ограничения, укажите параметры ограничения и нажмите кнопку ОК.
    Снимок экрана: диалоговое окно

Конфигурация

Атрибуты

Атрибут Описание
connectionTimeout Необязательный атрибут timeSpan.

Указывает время (в секундах) ожидания служб IIS перед отключением подключения, которое считается неактивным. Подключения можно считать неактивными по следующим причинам:
  • Истек срок действия таймера HTTP.sys Timer_ConnectionIdle. Срок действия подключения истек и остается в бездействии.
  • Истек срок действия таймера HTTP.sys Timer_EntityBody. Срок действия подключения истек до поступления текста сущности запроса. Если ясно, что запрос содержит тело сущности, API HTTP включает таймер Timer_EntityBody. Изначально ограничение этого таймера устанавливается в значение connectionTimeout. Каждый раз, когда в этом запросе поступает еще одно указание данных, API HTTP сбрасывает таймер, чтобы предоставить подключению больше минут, как указано в атрибуте connectionTimeout.
  • Истек срок действия таймера HTTP.sys Timer_AppPool. Срок действия подключения истек, так как запрос слишком долго ждал в очереди пула приложений, чтобы серверное приложение вывело из очереди и обработало его. Это время ожидания — connectionTimeout.
Значение по умолчанию — 00:02:00 (две минуты).
maxBandwidth Необязательный атрибут uint.

Указывает максимальную пропускную способность сети (в байтах в секунду), используемую для сайта. Используйте этот параметр, чтобы предотвратить перегрузку сети с помощью действий IIS.

Значение по умолчанию — 4294967295.
maxConnections Необязательный атрибут uint.

Указывает максимальное количество подключений для сайта. Используйте этот параметр, чтобы ограничить количество одновременных клиентских подключений.

Значение по умолчанию — 4294967295.
maxUrlSegments Необязательный атрибут uint.

Указывает максимальное количество сегментов, разрешенных в URL-адресе.

Значение по умолчанию — 32.

Дочерние элементы

Отсутствует.

Образец конфигурации

В следующем примере конфигурации указаны параметры по умолчанию limits для IIS 7 и более поздних версий.

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

Пример кода

В следующих примерах кода параметры по умолчанию limits для IIS 7 и более поздних версий connectionTimeout настраивают за 3 минуты.

AppCmd.exe

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

Примечание

При использовании AppCmd.exe для настройки этих параметров для параметра apphostфиксации необходимо задать значение . Это зафиксирует параметры конфигурации в соответствующем разделе расположения в файле 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()