Partager via


Limites par défaut pour les sites web <limites>

Vue d’ensemble

L’élément <limits> de l’élément <siteDefaults> configure les paramètres par défaut qui limitent la quantité de bande passante, le nombre de connexions ou le délai d’attente de connexion pour les demandes clientes sur un serveur web.

Remarque

Si l’élément <limits> est configuré à la fois dans la section <siteDefaults> et dans la section <site> pour un site spécifique, la configuration de la section <site> est utilisée pour ce site.

Compatibilité

Version Notes
IIS 8.5 L’élément <limits> n’a pas été modifié dans IIS 8.5.
IIS 8.0 L’élément <limits> n’a pas été modifié dans IIS 8.0.
IIS 7.5 L’élément <limits> n’a pas été modifié dans IIS 7.5.
IIS 7.0 L’élément <limits> de l’élément <siteDefaults> a été introduit dans IIS 7.0.
IIS 6.0 L’élément <limits> remplace les paramètres de métabase IIS 6.0 suivants :
  • ConnectionTimeout
  • MaxBandwidth
  • MaxConnections

Programme d’installation

L’élément <limits> de l’élément <siteDefaults> est inclus dans l’installation par défaut d’IIS 7 et ses versions ultérieures.

Procédure

Comment configurer les options de limite de connexion par défaut pour un serveur

  1. Ouvrez le Gestionnaire des services Internet (IIS) :

    • Si vous utilisez Windows Server 2012 ou Windows Server 2012 R2 :

      • Dans la barre des tâches, cliquez sur Gestionnaire de serveur, cliquez sur Outils, puis sur Gestionnaire Internet Information Services (IIS).
    • Si vous utilisez Windows 8 ou Windows 8.1 :

      • Maintenez la touche Windows enfoncée, appuyez sur la lettre X, puis cliquez sur Panneau de configuration.
      • Cliquez sur Outils d’administration, puis double-cliquez sur Gestionnaire des services Internet (IIS).
    • Si vous utilisez Windows Server 2008 ou Windows Server 2008 R2 :

      • Cliquez sur Démarrer, placez le curseur sur Outils d’administration, puis cliquez sur Gestionnaire Internet Information Services (IIS).
    • Si vous utilisez Windows Vista ou Windows 7 :

      • Dans la barre des tâches, cliquez sur Démarrer, puis sur Panneau de configuration.
      • Double-cliquez sur Outils d’administration, puis double-cliquez sur Gestionnaire des services Internet (IIS).
  2. Dans le volet Connexions, cliquez sur le nœud Sites.

  3. Dans le volet Sites, cliquez surDéfinir les valeurs par défaut du site web… dans le volet Actions.
    Screenshot of the Sites pane with the Default Web Site listed.

  4. Dans la boîte de dialogue Paramètres par défaut du site web, développez Limites, spécifiez les options de limite, puis cliquez sur OK.
    Screenshot of the Web Site Defaults dialog with General, Behavior, Connection Limits, and Failed Request Tracing options.

Configuration

Attributs

Attribut Description
connectionTimeout Attribut timeSpan facultatif.

Spécifie le temps (en secondes) attendu par IIS avant de déconnecter une connexion considérée comme inactive. Les connexions peuvent être considérées inactives pour les raisons suivantes :
  • Le minuteur HTTP.sys Timer_ConnectionIdle a expiré. La connexion a expiré et reste inactive.
  • Le minuteur HTTP.sys Timer_EntityBody a expiré. La connexion a expiré avant l’arrivée du corps de l’entité de requête. Lorsqu’il est clair qu’une requête a un corps d’entité, l’API HTTP active le minuteur Timer_EntityBody. Initialement, la limite de ce minuteur est définie sur la valeur connectionTimeout. Chaque fois qu’une autre indication de données est reçue sur cette requête, l’API HTTP réinitialise le minuteur pour donner plus de minutes de connexion, comme spécifié dans l’attribut connectionTimeout.
  • Le minuteur HTTP.sys Timer_AppPool a expiré. La connexion a expiré, car une demande a attendu trop longtemps dans une file d’attente du pool d’applications pour qu’une application serveur la déqueue et la traite. Cette durée d’expiration est connectionTimeout.
La valeur par défaut est 00:02:00 (deux minutes).
maxBandwidth Attribut uint facultatif.

Spécifie la bande passante réseau maximale, en octets par seconde, utilisée pour un site. Utilisez ce paramètre pour empêcher la surcharge du réseau avec l’activité IIS.

La valeur par défaut est 4294967295.
maxConnections Attribut uint facultatif.

Spécifie le nombre maximal de connexions pour un site. Utilisez ce paramètre pour limiter le nombre de connexions clientes simultanées.

La valeur par défaut est 4294967295.
maxUrlSegments Attribut uint facultatif.

Spécifie le nombre maximal de segments autorisés dans une URL.

La valeur par défaut est 32.

Éléments enfants

Aucune.

Exemple Configuration

L’exemple de configuration suivant spécifie les options limits par défaut pour IIS 7 et ses version ultérieures.

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

Exemple de code

Les exemples de code suivants configurent les options limits par défaut pour IIS 7 et ses versions ultérieures avec une connectionTimeout de 3 minutes.

AppCmd.exe

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

Remarque

Vous devez veiller à définir le paramètre commit sur apphost quand vous utilisez AppCmd.exe pour configurer ces paramètres. Cela valide les paramètres de configuration dans la section d’emplacement appropriée dans le fichier 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()