すべてのサイトの制限 <limits>
- 概要
- 互換性
- セットアップ
- 方法
- 構成
- サンプル コード
※本ページに挿入されている画像をクリックすると、画像全体が別ウィンドウで表示されます。
概要
<siteDefaults>
要素の <limits>
要素は、帯域幅、接続数、またはサイトへのクライアント要求の接続タイムアウトを制限する既定の設定を構成します。
注 : 特定のサイトに対して <siteDefaults>
セクションと <site>
セクションの両方で <limits>
要素が構成されている場合、<site>
セクションの構成がそのサイトに適用されます。
互換性
IIS 7.0 | IIS 6.0 | |
---|---|---|
注意 | <siteDefaults> の <limits> は IIS 7.0 で新たに導入された要素です。 |
<limits> 要素は、IIS 6.0 の次のメタベース設定に代わるものです。ConnectionTimeout MaxBandwidth MaxConnections |
セットアップ
<siteDefaults>
要素の <limits>
要素は、IIS 7.0 の既定のインストールに含まれています。
方法
サーバーの既定の接続制限オプションを構成する方法
タスク バーで [スタート] ボタンをクリックし、[管理ツール] をポイントして [インターネット インフォメーション サービス (IIS) マネージャー] をクリックします。
[接続] ウィンドウで、当該サーバー名を展開し、[サイト] ノードをクリックします。
サーバーの [サイト] ウィンドウで、[操作] ウィンドウにある [Web サイトの既定値の設定] をクリックします。
[Web サイトの既定値] ダイアログ ボックスで、[接続制限] を展開し、すべての Web サイトに対する既定の接続制限オプションを指定して、[OK] をクリックします。
構成
属性
属性 | 説明 |
---|---|
connectionTimeout |
オプションの timeSpan 属性。 アクティブでないと見なされる接続を切断するまでに IIS が待機する時間を秒単位で指定します。接続は次の理由からアクティブでないと見なされます。
既定値は |
maxBandwidth |
オプションの uint 属性。 サイトに使用される最大ネットワーク帯域幅を指定します。この設定は、ネットワークが IIS アクティビティで過負荷状態になることを防ぐために使用します。 既定値は 4294967295 です。 |
maxConnections |
オプションの unit 属性。 サイトの最大接続数を指定します。この設定は、同時クライアント接続の数を制限するために使用します。 既定値は 4294967295 です。 |
子要素
なし。
構成サンプル
次の例は、すべてのサイトに対する既定の接続制限設定を構成する方法を示しています。
<sites>
<siteDefaults>
<limits
connectionTimeout="150"
maxBandwidth="967295"
maxConnections="150"
/>
</siteDefaults>
</sites>
サンプル コード
次のコード サンプルでは、IIS 7.0 の既定の接続制限を構成します。
AppCmd.exe
appcmd.exe set config -section:system.applicationHost/sites /siteDefaults.limits.connectionTimeout:"00:02:00" /commit:apphost
appcmd.exe set config -section:system.applicationHost/sites /siteDefaults.limits.maxBandwidth:"967295" /commit:apphost
appcmd.exe set config -section:system.applicationHost/sites /siteDefaults.limits.maxConnections:"150" /commit:apphost
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:02:00");
limitsElement["maxBandwidth"] = 967295;
limitsElement["maxConnections"] = 150;
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:02:00")
limitsElement("maxBandwidth") = 967295
limitsElement("maxConnections") = 150
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:02:00";
limitsElement.Properties.Item("maxBandwidth").Value = 967295;
limitsElement.Properties.Item("maxConnections").Value = 150;
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:02:00"
limitsElement.Properties.Item("maxBandwidth").Value = 967295
limitsElement.Properties.Item("maxConnections").Value = 150
adminManager.CommitChanges()