次の方法で共有


多くの Outlook Anywhere ユーザーが同時に、断続的に Exchange メールボックスと接続できなくなる

 

トピックの最終更新日: 2008-12-03

ここでは、多くのユーザーが Microsoft Exchange Server 2007 Outlook Anywhere 機能を使用して自分のメールボックスにアクセスする組織で発生することがある問題を、インターネット インフォメーション サービス (IIS) スナップインを使用して解決する方法について説明します。

Outlook Anywhere を使用する場合など、RPC over HTTP 接続用に Exchange 2007 クライアント アクセス サーバーを使用する場合、次の現象が発生することがあります。

  • 29 時間ごとに、Outlook Anywhere ユーザーは Exchange と接続できなくなることがあります。このシナリオでは、ユーザーが自分のメールボックスに再接続するため、資格情報の入力が求められます。
  • Outlook Anywhere ユーザーが多い場合、多数の再接続が同時に試行され、サーバーに過剰な負担がかかることがあります。

原因

RPC over HTTP は IIS の既定のアプリケーション プール (DefaultAppPool) で実行されます。既定では、このアプリケーション プールは 1,740 分 (29 時間) ごとにワーカー プロセスをリサイクルするよう構成されます。IIS のリサイクル プロセスでは、アクティブ ワーカー スレッドがさらに 90 秒間で要求の処理を終了した後、アクティブ スレッドは終了します。

RPC over HTTP では長距離接続を使用するため、接続はワーカー スレッドに与えられた追加の 90 秒内に終了しないことがあります。このシナリオでは、接続は終了させられます。したがって、Outlook は IIS と接続できなくなります。この動作が発生すると、Outlook はすぐに再接続を試行します。多くの Outlook クライアントが同時に切断されると、同時再接続数が多くなり、サーバーに過剰の負担がかかることがあります。

解決方法

この問題を解決するには、IIS スナップインを使用して、次の項目を構成します。

  • 可能な場合、RPC over HTTP コンポーネント (rpcproxy) をそれ自体のアプリケーション プールに移動します。
  • RPC over HTTP が構成されたアプリケーション プールのワーカー プロセスのリサイクルを無効にします。
  • HTTP.sys のキュー上限を既定値 1,000 から 10,000 に増やします。

手順

RPC over HTTP コンポーネントを IIS 6.0 の新しいアプリケーション プールに移動するには、次の操作を行います。

  1. インターネット インフォメーション サービス マネージャを起動します。

  2. ローカル名を展開し、[アプリケーション プール] を右クリックします。[新規作成] をポイントし、[アプリケーション プール] をクリックします。

  3. [新しいアプリケーション プールの追加] ダイアログ ボックスに MSExchangeOutlookAnywhere など、わかりやすい名前を入力し、[テンプレートとして既存のアプリケーション プールを使用する] をクリックします。次に、[アプリケーション プール名] 一覧の [DefaultAppPool] をクリックし、[OK] をクリックします。

  4. [Web サイト] を展開し、Rpc Web アプリケーションが置かれた Web サイトを展開します。たとえば、[既定の Web サイト] を展開します。[Rpc] を右クリックし、[プロパティ] をクリックします。

  5. [仮想ディレクトリ] タブで、[アプリケーション プール] 一覧の新しいアプリケーション プールをクリックします。たとえば、[MSExchangeOutlookAnywhere] をクリックします。

  6. [OK] をクリックします。

  7. IIS をリセットします。それには、コマンド プロンプトで iisreset を実行します。

RPC over HTTP コンポーネントを IIS 7.0 の新しいアプリケーション プールに移動するには、次の操作を行います。

  1. インターネット インフォメーション サービス マネージャを起動します。

  2. ローカル名を展開し、[アプリケーション プール] をクリックし、[アプリケーション プールの追加] をクリックします。

  3. [名前] ボックスに、MSExchangeOutlookAnywhere など、わかりやすい名前を入力し、[OK] をクリックします。

  4. [接続] ウィンドウで [サイト] を展開し、Rpc Web アプリケーションが置かれた Web サイトを展開します。たとえば、[既定の Web サイト] を展開します。[Rpc] を右クリックし、[プロパティ] をクリックします。

  5. [詳細設定] ダイアログ ボックスに表示される設定に注意します。

  6. [全般] タブで、[DefaultAppPool] の横に表示される省略記号 ([...]) ボタンをクリックします。

  7. [アプリケーション プール] 一覧で、作成した新しいアプリケーション プールをクリックし、[OK] を 2 回クリックします。

  8. IIS をリセットします。それには、コマンド プロンプトで iisreset を実行します。

IIS 6.0 でワーカー プロセスのリサイクルを無効にするには、次の操作を行います。

  1. インターネット インフォメーション サービス (IIS) マネージャを起動します。

  2. ローカル コンピュータを展開し、[アプリケーション プール] を展開します。DefaultAppPool などの該当するアプリケーション プールまたは作成した新しいアプリケーション プールを右クリックし、[プロパティ] をクリックします。

  3. [ワーカー プロセスのリサイクル (分ごと)] チェック ボックスをオフにし、[OK] をクリックします。

IIS 7.0 でワーカー プロセスのリサイクルを無効にするには、次の操作を行います。

  1. インターネット インフォメーション サービス マネージャを起動します。

  2. ローカル コンピュータを展開し、[アプリケーション プール] をクリックします。

  3. [アプリケーション プール] ウィンドウで、DefaultAppPool などの該当するアプリケーション プールまたは作成した新しいアプリケーション プールをクリックし、[詳細設定] をクリックします。

  4. [リサイクル] セクションで、[定期的な間隔 (分)] の値を変更します。既定値 17400 (ゼロ) に置き換えます。値を 0 にすると、ワーカー プロセスのリサイクルが無効になります。

  5. [OK] をクリックします。

IIS 6.0 でキューの長さを増やすには、次の操作を行います。

  1. インターネット インフォメーション サービス (IIS) マネージャを起動します。

  2. ローカル コンピュータを展開し、[アプリケーション プール] を展開します。DefaultAppPool などの該当するアプリケーション プールまたは作成した新しいアプリケーション プールを右クリックし、[プロパティ] をクリックします。

  3. [パフォーマンス] タブをクリックし、[要求キューの制限] ボックスの値を変更します。既定値 100010000 に置き換えます。

  4. [OK] をクリックします。

IIS 7.0 でキューの長さを増やすには、次の操作を行います。

  1. インターネット インフォメーション サービス マネージャを起動します。

  2. ローカル コンピュータを展開し、[アプリケーション プール] をクリックします。

  3. [アプリケーション プール] ウィンドウで、DefaultAppPool などの該当するアプリケーション プールまたは作成した新しいアプリケーション プールをクリックし、[詳細設定] をクリックします。

  4. [全般] セクションで、[キューの長さ] の値を変更します。既定値 100010000 に置き換えます。

  5. [OK] をクリックします。

詳細情報

Outlook Anywhere のスケーラビリティの詳細については、「White Paper: Outlook Anywhere Scalability with Outlook 2007, Outlook 2003, and Exchange 2007」 (英語) を参照してください。

参照している情報が最新であることを確認したり、他の Exchange Server 2007 ドキュメントを見つけたりするには、Exchange Server TechCenter を参照してください。