クライアント調整ポリシーについて
適用先: Exchange Server 2010 SP2, Exchange Server 2010 SP3
トピックの最終更新日: 2015-03-09
MicrosoftExchange Server 2010 では、クライアント調整ポリシーを使用して、Exchange 組織のパフォーマンスを管理します。これを行うために、Exchange では、各ユーザーが消費するリソースを追跡し、必要に応じて接続帯域幅を強制的に制限します。
クライアントの調整は、特に以下の状態を維持するのに役立ちます。
ユーザーが故意にシステムに負担をかけていないこと。
ユーザーが誤ってシステムに負担をかけていないこと。
さまざまな接続方法を使用しているユーザーがリソースを均一に共有していること。
Exchange Server 2010 SP1 では、すべてのクライアント調整ポリシーが既定でオンになっています。問題が発生している場合で、これらのポリシーが原因の可能性がある場合は、クライアント調整をオフにします。クライアント調整をオフにするには、すべてのポリシー パラメーターを $Null
に設定します。
目次
既定および既定以外のポリシー
ポリシーのパラメーターについて
Exchange 管理シェル コマンドとパラメーター
一般的な調整ポリシー管理タスク
調整パフォーマンス カウンター
フォールバック ポリシー
既定および既定以外のポリシー
Exchange 組織の作成時、既定の調整ポリシーは自動的に作成され、組織内のすべてのユーザーを暗黙的に制御します。既定のクライアント調整ポリシーは、通常 Exchange システムにかかる負荷を管理するうえで十分ですが、既定のポリシーを組織のニーズに合わせてカスタマイズしたり、ポリシーを追加したりすることができます。
Exchange 組織で複数のテナントをホストする場合は、テナントの各ユーザーに対して適用可能な負荷を定義できます。同様に、社内の組織では、ユーザー単位で適用可能な負荷を定義できます。Exchange は、ポリシーを介して各ユーザーのシステムの使用方法を評価し、評価したユーザーごとの負荷が、各ユーザーのポリシーによって定義された許容可能な限界を超えないようにします。クライアント調整システムは、ユーザーごとのシステムの使用状況を追跡し、各ユーザーに関連付けられた調整ポリシーを使用して調整を発生させるかどうかを決定します。
Exchange 2010 エンタープライズのインストールでは、「最初の組織」という名前が付いた 1 つの既定の調整ポリシーがあります。マルチテナント型の展開では、各テナントに独自の既定の調整ポリシーがあります。
フォールバック ポリシー
調整フレームワークは Exchange リソースを保護するように設計されています。このため、既定ではないポリシーが破損したり失われたりした場合、調整ポリシーはまず、組織の既定調整ポリシーにフォール バックします。しかし、既定のポリシーが破損したり失われたりした場合は、調整ポリシーはフォールバック ポリシーにフォール バックします。これは、フォールバック ポリシーは Exchange に組み込まれているため、機能しなくなる可能性が低いためです。
フォールバック ポリシーは、メールボックスのないコンピューター アカウント、フォレスト間連絡先、および Active Directory アカウントなどの認証済みアカウントにも適用されます。これらのアカウントは、フォールバック ポリシー値が割り当てられます。これらのアカウントはフォールバック ポリシーを使用するため、ポリシー値は変更できません。
フォールバック ポリシーでは次の値を使用します:
アクセスの種類 |
MaxConcurrency |
PercentTimeinAD |
PercentTimeinCAS |
PercentTimeinRPC |
その他 |
Anonymous |
1 |
$null |
$null |
$null |
|
EAS |
10 |
$null |
$null |
$null |
10 (maxDevices) |
EWS |
10 |
50 |
90 |
60 |
5000 (maxSubscription) |
IMAP |
$null |
$null |
$null |
$null |
|
OWA |
5 |
30 |
150 |
150 |
|
POP |
20 |
$null |
$null |
$null |
|
PowerShell |
18 |
$null (maxTenantConcurrency) |
|||
RCA |
2000 |
5 |
205 |
200 |
|
CPA |
20 |
205 |
200 |
||
全般 |
$null (MessageRateLimit) |
既定および既定以外のポリシー
ポリシーのパラメーターについて
調整ポリシー設定は、Exchange 管理シェルから Get-ThrottlingPolicy、Set-ThrottlingPolicy、New-ThrottlingPolicy、および Remove-ThrottlingPolicy の各コマンドレットを使用して管理します。
調整ポリシーの許容負荷は、調整ポリシーのコマンドレット パラメーター値によって定義されます。調整ポリシーの適用を受けるコンポーネントの種類は以下のとおりです。
MicrosoftExchange ActiveSync
Exchange Web サービス
IMAP
Outlook Web App
POP
Windows PowerShell
これらすべてのコンポーネント タイプには、同じように動作するポリシー パラメーターがあります。ただし、Windows PowerShell コンポーネント タイプは例外です。
一般的なコンポーネント タイプは、次の 4 つのポリシー パラメーターによって制御されます。それは、<Component Acronym>MaxConcurrency、<Component Acronym>PercentTimeInAD、<Component Acronym>PercentTimeInCAS、および -<Component Acronym>PercentTimeInMailboxRPC です。パラメーター名の先頭には、コンポーネント タイプの頭字語が付いています。次の表に、調整ポリシーのコマンドレットのパラメーターに使用されるコンポーネント タイプの頭字語を示します。
調整ポリシーのコマンドレットで使用されるコンポーネント タイプの頭字語
コンポーネントの頭字語 | 説明 | 例 |
---|---|---|
EAS |
Exchange ActiveSync |
EASPercentTimeInCAS パラメーターでは、コンポーネントの頭字語 EAS は Exchange ActiveSync コンポーネントを表します。 |
EWS |
Exchange Web サービス |
EWSPercentTimeInCAS パラメーターでは、コンポーネントの頭字語 EWS は Exchange Web サービス コンポーネントを表します。 |
OWA |
Outlook Web App |
OWAPercentTimeInCAS パラメーターでは、コンポーネントの頭字語 OWA は Outlook Web App コンポーネントを表します。 |
IMAP |
IMAP4 |
IMAPPercentTimeInCAS パラメーターでは、コンポーネントの頭字語 IMAP は、IMAP4 コンポーネントを表します。 |
POP |
POP3 |
POPPercentTimeInCAS パラメーターでは、コンポーネントの頭字語 POP は POP3 コンポーネントを表します。 |
注意
ユニファイド メッセージング ユーザーは Exchange Web サービス ユーザーと見なされるため、これらのユーザーの Exchange サーバーへの接続は、EWSMaxConcurrency、EWSPercentTimeInAD、EWSPercentTimeInCAS、EWSPercentTimeInMailboxRPC などの Exchange Web サービス パラメーターによって調整されます。
既定および既定以外のポリシー
MaxConcurrency
MaxConcurrency ポリシーのパラメーター値は、指定したユーザーが一度に 1 台の Exchange サーバーに対して保持できる同時接続数を示します。接続は、要求が受信された時点から応答がリクエスターに完全に送信されるまで保持されます。ユーザーがポリシーの許可数を超える同時要求を試みると、新しい接続試行は失敗します。ただし、既存の接続は有効のままです。<Component Acronym>MaxConcurrency の有効な範囲は 0 ~ 2147483647 です。<Component Acronym>MaxConcurrency を無調整 (無制限) にするには、この値を $null
に設定します。
重要
ビジネスで必要のない限り、調整ポリシー パラメーターを $null
に設定しないでください。無調整ユーザーは、故意または誤ってサーバー上に高い負荷をかけることについては制限されません。
PercentTimeInCAS、PercentTimeInAD、PercentTimeInMailboxRPC
PercentTimeInCAS、PercentTimeInAD、または PercentTimeInMailboxRPC ポリシーのパラメーター値は、以下の実行に費やすことができる時間が 1 分間に閉める割合を示しています。
クライアント アクセス サーバー コードの実行 (<Component Acronym>PercentTimeInCAS)
LDAP 要求の実行 (<Component Acronym>PercentTimeInAD)
メールボックス RPC 要求の実行 (<Component Acronym>PercentTimeInMailboxRPC)
値 100 は、各 1 分間ウィンドウで、プロセスがその時間内の 60 秒を対象のリソースの消費に費やせることを示しています。プロセスは値を 100 に設定した調整に遭遇しないように思えますが、同時実行要求の影響を考慮する必要があります。クライアント アクセス サーバー上で実行されているコードごとに 60 秒を費やす同時実行要求がプロセスに 2 つある場合、プロセスは 60 秒間ウィンドウで効率的に 120 秒を使用しているため、200 パーセントの <Component Acronym>PercentTimeInCAS 値を表します。
PercentTimeInCAS、PercentTimeInAD、PercentTimeInMailboxRPC を無調整 (無制限) にするには、この値を $null
に設定します。
重要
ビジネスで必要のない限り、調整ポリシー パラメーターを $null
に設定しないでください。ユーザーは、故意または誤ってサーバー上に高い負荷をかけることについては制限されません。
<Component Acronym>PercentTimeInCAS が <Component Acronym>PercentTimeInAD および <Component Acronym>PercentTimeInMailboxRPC のオーバーラップしているスーパーセットであることに注意することが重要です。つまり、クライアント アクセス サーバーの処理時間における消費は、<Component Acronym>PercentTimeInAD と <Component Acronym>PercentTimeInMailboxRPC における消費よりも常に大きくなります。これは、Exchange コンポーネントが Active Directory または RPC を呼び出すには、クライアント アクセス サーバー コードを事前に実行しておく必要があるためです。さらに、LDAP または RPC の呼び出し中、<Component Acronym>PercentTimeInCAS の処理時間における消費は止まりません。要求が Active Directory または Exchange ストアからの応答を同期して待機している場合も、プロセスはサーバー上のスレッドを消費し続けるため、プロセスにはその使用に対して継続して負担がかかります。そのため、<Component Acronym>PercentTimeInCAS 値は <Component Acronym>PercentTimeInAD 値および <Component Acronym>PercentTimeInMailboxRPC 値より大きな値に設定する必要があります。
既定および既定以外のポリシー
Exchange 管理シェル コマンドとパラメーター
ここでは、次の Windows PowerShell パラメーターについて説明します。
PowerShellMaxConcurrency
PowerShellMaxCmdlets
PowerShellMaxCmdletsTimePeriod
PowerShellMaxCmdletQueueDepth
PowerShellMaxConcurrency
リモート シェルのコンテキストでは、PowerShellMaxConcurrency パラメーターはリモート シェル ユーザーが同時に保持できるリモートシェル セッションの最大数を定義します。Web サービスのコンテキストでは、PowerShellMaxConcurrency パラメーターは、ユーザーが同時に保持できる同時コマンドレット数を定義します。このパラメーターの値は、必ずしも、ユーザーが開いたブラウザーの数に一致するわけではありません。
PowerShellMaxCmdlets
PowerShellMaxCmdlets パラメーターは、調整されることなく時間ごとに実行可能なコマンドレット数を定義します。このパラメーターは、PowerShellMaxCmdletsTimePeriod パラメーターによって定義された値に直接依存します。両方の値を同時に設定してください。
PowerShellMaxCmdletsTimePeriod
PowerShellMaxCmdletsTimePeriod パラメーターは、ユーザーが PowerShellMaxCmdlets パラメーターによって定義されたコマンドレット数を実行できる時間 (秒) を定義します。
PowerShellMaxCmdletQueueDepth
PowerShellMaxCmdletQueueDepth パラメーターは、ユーザーが同時に実行可能な操作数を定義します。この値は、PowerShellMaxCmdlets パラメーターと PowerShellMaxConcurrency パラメーターの動作に直接影響します。たとえば、PowerShellMaxConcurrency パラメーターは、PowerShellMaxCmdletQueueDepth パラメーターによって定義された少なくとも 2 つの操作を使い果たしますが、コマンドレットが実行されるたびに調整制限に対して追加の操作が加算されます。調整制限に加算される操作数は、実行されるコマンドレットによって異なります。PowerShellMaxCmdletQueueDepth パラメーターの値は、PowerShellMaxConcurrency パラメーターの値の 3 倍以上にすることをお勧めします。このパラメーターは、Exchange コントロール パネルを使用して実行される操作や、Exchange Web サービスを介して実行される操作には影響しません。
既定および既定以外のポリシー
クライアント調整ポリシーの管理
Exchange 管理シェルを使用すると、次の表に示すコマンドレットを使用して、クライアント調整ポリシー設定を変更および表示することができます。
クライアント アクセス サーバー上のクライアント調整ポリシーを管理するコマンドレット
コマンドレット名 | 説明 |
---|---|
New-ThrottlingPolicy |
このコマンドレットは新しい調整ポリシーを作成します。 |
Remove-ThrottlingPolicy |
このコマンドレットは調整ポリシーを削除します。 |
Get-ThrottlingPolicy |
このコマンドレットを使用すると、調整ポリシー設定を表示できます。 |
Set-ThrottlingPolicy |
このコマンドレットは調整ポリシーの利用可能なすべての設定を変更します。 |
これらのコマンドレットの構文およびパラメーターを表示するには、「New-ThrottlingPolicy」、「Remove-ThrottlingPolicy」、「Get-ThrottlingPolicy」、および「Set-ThrottlingPolicy」を参照してください。
調整ポリシーを特定のオブジェクトに関連付けることができます。選択できるオブジェクトは、メールボックスを持つユーザー、メールボックスを持たないユーザー、連絡先、またはコンピューター アカウントです。これらのコマンドレットの構文およびパラメーターは、「Get-ThrottlingPolicyAssociation」、「Set-ThrottlingPolicyAssociation」を参照してください。
注意
1 人のユーザーまたはユーザー グループに調整ポリシーを関連付けるには、New-Mailbox と Set-Mailbox コマンドレットを ThrottlingPolicy パラメーターを指定して実行します。
ユーザーごとのクライアント調整ポリシー設定の管理
Exchange 管理シェルで Set-Mailbox と New-Mailbox コマンドレットを ThrottlingPolicy パラメーターを指定して実行すると、ユーザーまたはユーザー グループのメールボックス上のプロパティを変更することでクライアント調整ポリシーをユーザーまたはユーザー グループに関連付けることができます。詳細については、「Set-Mailbox」および「New-Mailbox」を参照してください。
既定および既定以外のポリシー
一般的な調整ポリシー管理タスク
クライアント調整ポリシーを管理可能にする方法をいくつか以下に示します。
既定の調整ポリシーの取得
既定で、クライアント調整ポリシーの IsDefault パラメーターは true に設定されています。where-object
フィルターを使用して既定の調整ポリシーを取得できます。次の例は、既定の調整ポリシーの取得方法を示しています。
Get-ThrottlingPolicy | where-object {$_.IsDefault -eq $true}
ユーザーを制御する調整ポリシーの取得
ユーザーごとに調整ポリシーを設定できます。したがって、特定のユーザーを制御するポリシーを取得できます。対象となるユーザーのメールボックスから ThrottlingPolicy
パラメーターを取得して、それを Get-ThrottlingPolicy コマンドレットに渡すことができます。次の例では、Tony Smith という名前のユーザーのメールボックスが使用されています。
$policy = $null;
$policyLink = (Get-Mailbox tonysmith).ThrottlingPolicy;
if ($policyLink -eq $null)
{
$policy = Get-ThrottlingPolicy | ? {$_.IsDefault};
}
else
{
$policy = $policyLink | Get-ThrottlingPolicy;
}
既定および既定以外のポリシー
既定以外の調整ポリシーの新規作成
既定以外の調整ポリシーを新規に作成するには、必要なパラメーターを設定して、New-ThrottlingPolicy コマンドレットを実行します。省略するパラメーターはすべて、既定値の調整ポリシーから値を継承します。次の例は、新しい調整ポリシー ClientThrottlingPolicy2
を作成します。新しいポリシーは、既定の調整ポリシーとほとんど同じ設定です。違いは、既定以外の新しい調整ポリシー ClientThrottlingPolicy2
では、EWSPercentTimeInCAS
を 80 に設定し、EWSPercentTimeInAD
調整機能をオフにします。
New-ThrottlingPolicy -Name ClientThrottlingPolicy2 -EWSPercentTimeInCAS 80 -EWSPercentTimeInAD $null;
既定以外の調整ポリシーのユーザーへの割り当て
既定以外の調整ポリシーをユーザーに割り当てるには、次のように Set-Mailbox コマンドレットを使用します。
$b = Get-ThrottlingPolicy ClientThrottlingPolicy2;
Set-Mailbox -Identity tonysmith -ThrottlingPolicy $b;
ユーザーが既定以外の調整ポリシーによって制御されていて、そのユーザーが既定のポリシーを使用するようにしたい場合、ThrottlingPolicyパラメーターを $null
に設定することで、このような変更が可能になると考えるかもしれません。しかし残念なことに、ThrottlingPolicy パラメーターを $null
に設定しても、メールボックス オブジェクトは変更されません。既定の調整ポリシーをユーザーに適用するようにするには、次のコマンドを使用して、既定の調整ポリシーをユーザーに対して明示的に設定する必要があります。
$policy = Get-ThrottlingPolicy | where-object {$_.IsDefault -eq $true};
Set-Mailbox -Identity tonysmith -ThrottlingPolicy $policy;
既定および既定以外のポリシー
特定の調整ポリシーによって制御されているすべてのユーザーの検索
特定の調整ポリシーによって制御されているユーザーを確認する場合、次の例で示すように Get-Mailbox コマンドレットを実行して調整ポリシーの ID をフィルターします。この例では、$policy
はフィルターするポリシーです。
Get-Mailbox | where-object {$_.ThrottlingPolicy -eq $policy.Identity}
調整ポリシーの削除
既定以外のポリシーで、どのメールボックスに関連付けられていない調整ポリシーのみを削除できます。これを行うには、次のコマンドを使用して Remove-ThrottlingPolicy コマンドレットを実行し調整ポリシーの ID を渡します。
Remove-ThrottlingPolicy ClientThrottlingPolicy2
調整ポリシーがユーザーに関連付けられている場合は、まずそのユーザーを別のポリシーに再度割り当てる必要があります。その後で、削除したいポリシーを削除できます。次の例は、これを行うための方法を示しています。
$policy = Get-ThrottlingPolicy ClientThrottlingPolicy2;
$mailboxes = Get-Mailbox | where-object {$_.ThrottlingPolicy -eq $policy.Identity};
$defaultPolicy = Get-ThrottlingPolicy | where-object {$_.IsDefault -eq $true};
foreach ($mailbox in $mailboxes)
{
Set-Mailbox -Identity $mailbox.Identity -ThrottlingPolicy $defaultPolicy;
}
Remove-ThrottlingPolicy ClientThrottlingPolicy2;
既定および既定以外のポリシー
調整ポリシーの変更
既存の調整ポリシー (既定の調整ポリシーも含めて) を変更するには、Set-ThrottlingPolicy コマンドレットを実行し、変更するパラメーターを指定します。たとえば、既定の調整ポリシーの EWSMaxConcurrency パラメーター値を 4 に変更するには、次のコマンドを使用します。
$a = Get-ThrottlingPolicy | where-object {$_.IsDefault -eq $true}
$a | Set-ThrottlingPolicy -EWSMaxConcurrency 4
調整パフォーマンス カウンター
調整によって、Exchange サーバー上の Exchange コンポーネントの全体的な使用状況を制御しやすくなるので、多くの場合、調整によるシステムへの影響を検証することは有用です。Exchange では、プロセスごとに調整パフォーマンス カウンター セットを提供します。たとえば、Outlook Web App などの Exchangeプロセスには独自のカウンター セットがあり、Exchange Web サービスにも独自のカウンター セットがあります。Windows パフォーマンス ツールでは、これらのカウンターをインスタンスと呼びます。
RPC クライアント アクセス ログの調整ログ出力を有効にする
既定では、RPC クライアント アクセス サービスに対して調整ログ出力は無効になっています。このため、RPC クライアント アクセス ログに調整情報は表示されません。調整ログ出力を有効にするには、次の手順を実行します。
メモ帳などのテキスト エディターで次のファイルを開きます。C:\Program Files\Microsoft\Exchange Server\V14\Bin Microsoft.Exchange.RpcClientAccess.Service.exe.config
このファイルで、<add key="LoggingTag" value="ConnectDisconnect, Logon, Failures, ApplicationData, Warnings" /> セクションを見つけます。
コンマ区切り文字列で「Throttling」と入力します。たとえば、次のような文字列で「Throttling」と入力します。<add key="LoggingTag" value="ConnectDisconnect, Logon, Failures, ApplicationData, Warnings, Throttling" />.
ファイルを保存して閉じます。
RPC クライアント アクセス サービスを再起動します。
既定および既定以外のポリシー
© 2010 Microsoft Corporation.All rights reserved.