Freigeben über


Standardgrenzwerte für Websites: <limits>-Elemente

Übersicht

Das <limits>-Element des <siteDefaults>-Elements konfiguriert Standardeinstellungen, die die Bandbreite, die Anzahl von Verbindungen oder das Verbindungstimeout für Clientanforderungen für einen Webserver begrenzen.

Hinweis

Wenn das <limits>-Element für eine bestimmte Site sowohl im Abschnitt <siteDefaults> als auch im Abschnitt <site> konfiguriert ist, wird die Konfiguration im Abschnitt <site> für diese Site verwendet.

Kompatibilität

Version Hinweise
IIS 8.5 Das <limits>-Element wurde in IIS 8.5 nicht geändert.
IIS 8.0 Das <limits>-Element wurde in IIS 8.0 nicht geändert.
IIS 7.5 Das <limits>-Element wurde in IIS 7.5 nicht geändert.
IIS 7.0 Das <limits>-Element des <siteDefaults>-Elements wurde in IIS 7.0 eingeführt.
IIS 6.0 Das <limits>-Element ersetzt die folgenden Metabasiseinstellungen von IIS 6.0:
  • ConnectionTimeout
  • MaxBandwidth
  • MaxConnections

Setup

Das <limits>-Element des <siteDefaults>-Elements ist in der Standardinstallation von IIS 7 und höher enthalten.

Gewusst wie

Konfigurieren der Standardoptionen für Verbindungsgrenzwerte für eine Website

  1. Öffnen Sie Internetinformationsdienste-Manager (IIS):

    • Vorgehensweise unter Windows Server 2012 oder Windows Server 2012 R2:

      • Klicken Sie auf der Taskleiste auf Server-Manager, wählen Sie Tools und dann Internetinformationsdienste-Manager (IIS) aus.
    • Vorgehensweise unter Windows 8 oder Windows 8.1:

      • Halten Sie die Windows-Logo-Taste gedrückt, drücken Sie den Buchstaben X, und klicken Sie dann auf Systemsteuerung.
      • Klicken Sie auf Verwaltung, und doppelklicken Sie dann auf Internetinformationsdienste-Manager (IIS).
    • Vorgehensweise unter Windows Server 2008 oder Windows Server 2008 R2:

      • Klicken Sie auf der Taskleiste auf Start, zeigen Sie auf Verwaltung, und wählen Sie dann Internetinformationsdienste-Manager (IIS) aus.
    • Vorgehensweise unter Windows Vista oder Windows 7:

      • Klicken Sie auf der Taskleiste auf Start und dann auf Systemsteuerung.
      • Doppelklicken Sie auf Verwaltung und dann auf Internetinformationsdienste-Manager (IIS).
  2. Klicken Sie im Bereich Verbindungen auf den Knoten Sites.

  3. Klicken Sie im Bereich Sites im Bereich Aktionen auf Website-Standardwerte festlegen.
    Screenshot of the Sites pane with the Default Web Site listed.

  4. Erweitern Sie im Dialogfeld Website-Standardwerte den Eintrag Grenzwerte, geben Sie Optionen für Grenzwerte an, und klicken Sie dann auf OK.
    Screenshot of the Web Site Defaults dialog with General, Behavior, Connection Limits, and Failed Request Tracing options.

Konfiguration

Attribute

Attribut Beschreibung
connectionTimeout Optionales timeSpan-Attribut.

Gibt die Zeit (in Sekunden) an, die IIS wartet, bevor eine Verbindung getrennt wird, die als inaktiv betrachtet wird. Verbindungen können aus folgenden Gründen als inaktiv betrachtet werden:
  • Der HTTP.sys-Timer Timer_ConnectionIdle ist abgelaufen. Die Verbindung ist abgelaufen und verbleibt im Leerlauf.
  • Der HTTP.sys-Timer Timer_EntityBody ist abgelaufen. Die Verbindung ist abgelaufen, bevor der Entitätstext einer Anforderung empfangen wurde. Wenn klar ist, dass eine Anforderung einen Entitätstext enthält, aktiviert die HTTP-API den Timer Timer_EntityBody. Zunächst wird das Limit dieses Timers auf den connectionTimeout-Wert festgelegt. Jedes Mal, wenn eine weitere Datenanzeige für die Anforderung empfangen wird, setzt die HTTP-API den Timer zurück, um länger als im connectionTimeout-Attribut angegeben mit dem Trennen der Verbindung zu warten.
  • Der HTTP.sys-Timer Timer_AppPool ist abgelaufen. Die Verbindung ist abgelaufen, da eine Anforderung zu lange in einer Anwendungspoolwarteschlange darauf gewartet hat, dass sie von einer Serveranwendung aus der Warteschlange entfernt und verarbeitet wird. Diese Timeoutdauer ist der connectionTimeout-Wert.
Der Standardwert ist 00:02:00 (zwei Minuten).
maxBandwidth Optionales uint-Attribut.

Gibt die maximale Netzwerkbandbreite in Bytes pro Sekunde an, die für eine Site verwendet wird. Verwenden Sie diese Einstellung, um zu verhindern, dass das Netzwerk mit IIS-Aktivitäten überlastet wird.

Der Standardwert ist 4294967295.
maxConnections Optionales uint-Attribut.

Gibt die maximale Anzahl von Verbindungen für eine Site an. Verwenden Sie diese Einstellung, um die Anzahl gleichzeitiger Clientverbindungen einzuschränken.

Der Standardwert ist 4294967295.
maxUrlSegments Optionales uint-Attribut.

Gibt die maximale Anzahl von Segmenten an, die in einer URL zulässig sind.

Der Standardwert ist 32.

Untergeordnete Elemente

Keine.

Konfigurationsbeispiel

Im folgenden Konfigurationsbeispiel werden die limits-Standardoptionen für IIS 7 und höher festgelegt.

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

Beispielcode

In den folgenden Codebeispielen werden die limits-Standardoptionen für IIS 7 und höher mit einem connectionTimeout von drei Minuten konfiguriert.

AppCmd.exe

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

Hinweis

Sie müssen den commit-Parameter auf apphost festlegen, wenn Sie „AppCmd.exe“ verwenden, um diese Einstellungen zu konfigurieren. Dadurch werden die Konfigurationseinstellungen in den entsprechenden Location-Abschnitt der Datei „ApplicationHost.config“ committet.

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