キュー設定 (Project Server 2010 設定)

 

適用先: Project Server 2010

トピックの最終更新日: 2011-12-30

[キューの設定] は、[キュー] セクションにある Microsoft Project Server 2010 の [サーバー設定] ページから利用できます。関連する管理設定の詳細については、「キュー (Project Server 2010 設定)」を参照してください。

[キューの設定] ページでは、ご使用の環境で Project Server 2010 のキュー システムがどのように動作するかを構成できます。[キューの設定] ページには以下のオプションが含まれます。

  • キューの種類

  • ジョブ処理用スレッドの最大数

  • ポーリング間隔 (ミリ秒)

  • 再試行間隔 (ミリ秒)

  • 再試行制限回数

  • SQL の再試行間隔 (ミリ秒)

  • SQL の再試行制限回数

  • SQL のタイムアウト (秒)

  • クリーンアップ間隔 (時間)

  • クリーンアップ間隔のオフセット値 (分)

  • 成功したジョブのクリーンアップの経過時間制限 (時間)

  • 成功しなかったジョブのクリーンアップの経過時間制限 (時間)

  • ブックキーピング間隔 (ミリ秒)

  • キューのタイムアウト (分)

  • 高速ポーリング

このページの対応する設定フィールドに値を入力すると、キューの設定を構成できます。

重要

キューの設定は、各 Microsoft Project Web App サイトで固有です。

キューの種類

[キューの種類] 設定では、ページ上の設定を適用するキューを選択できます。オプションは、[プロジェクト キュー] (プロジェクトの保存、発行のようなジョブの種類を処理します) と [タイムシート キュー] (タイムシートの保存、通知のようなジョブの種類を処理します) です。

ジョブ処理用スレッドの最大数

[ジョブ処理用スレッドの最大数] 設定では、選択したキューの種類 ([プロジェクト] または [タイムシート]) で使用できるジョブ処理用スレッドの数を決定します。

最初に、利用できるプロセッサ (コア) の数に基づいて処理用スレッド設定の最大数を設定することをお勧めします。たとえば、Project Server アプリケーション サーバーで単一のデュアルコア プロセッサを使用する場合、キューごとに 2 つのスレッドの設定を構成するとよいでしょう。アプリケーション サーバーでクアッド デュアルコア プロセッサを使用する場合、キューごとに 8 つのスレッドを使用できます。トランザクションの量だけでなくトランザクションの平均サイズに基づいて (たとえば 10 行のプロジェクトの発行対 1,000 行のプロジェクトの発行)、これらの設定をそれぞれ調整できます。

ファーム トポロジとファーム上で動作している他のアプリケーションについても考慮する必要があります。たとえばファーム上に 4 つのアプリケーション サーバーがあり、各サーバーに 2 つのコアがある場合、4 を設定すると 32 個のスレッドが動作可能になります。

アプリケーション サーバーがフロントエンド Web サーバーとしても機能しているか、検索またはプロセッサの処理量が多いアクティビティを実行している場合は、適宜設定を調整します。

Project Server データベースをホスト中の SQL Server を実行しているコンピューターの処理量を考慮することも重要です。たとえば、スレッドを処理できる 8 つのアプリケーション サーバーがあり、[ジョブ処理用スレッドの最大数] 設定が 4 (32 個のスレッドすべてがジョブを処理可能) であるとします。すべてのスレッドは同じテーブルで動作しているので、SQL Server で競合問題が発生する可能性があります。

また、キューを調整するための指針になるパフォーマンス カウンター、アプリケーション ログ、および ULS ログを監視して、通常のサーバー ロードに対応することができます。

ポーリング間隔 (ミリ秒)

[ポーリング間隔] 設定では、キュー NT サービスが ([ジョブの種類] で選択した内容に応じて) プロジェクトまたはタイムシートのデータベースを新しいジョブにポーリングする間隔 (ミリ秒) を指定できます。有効な範囲は 500 から 300,000 で、既定値は 1,000 です。

再試行間隔 (ミリ秒)

[再試行間隔] 設定では、SQL のデッドロックのような SQL 関連の問題でエラーが発生したジョブの再試行間隔 (ミリ秒) を設定できます。有効範囲は 0 (直ちに再試行) から 300,000 で、既定値は 1,000 です。

再試行制限回数

[再試行制限回数] 設定では、失敗したポーリング クエリの再試行制限回数を設定できます。Project Server のキュー システムは、定期的にデータベースをポーリングして、処理が必要なジョブを取得します。SQL 関連の問題でこのクエリが失敗すると、システムはしばらくしてからデータベースのポーリングを試みます。

SQL の再試行間隔 (ミリ秒)

キューは、処理が必要なジョブのために、設定された間隔でデータベースをポーリングします。クエリが失敗すると、[SQL の再試行間隔] 設定でクエリが再試行される間隔 (ミリ秒) を設定できます。有効範囲は 0 (直ちに再試行) から 60,000 で、既定値は 1,000 です。

SQL の再試行制限回数

キューは、処理が必要なジョブのために、設定された間隔でデータベースをポーリングします。クエリが失敗すると、[SQL の再試行制限回数] 設定でクエリが再試行される回数を設定できます。有効範囲は 0 (再試行しない) から 100 で、既定値は 5 です。

SQL のタイムアウト (秒)

キューは、ジョブを取得して実行するために SQL を呼び出します。この [SQL のタイムアウト] 設定では、この呼び出しに対するタイムアウト値 (秒) を設定できます。SQL タイムアウト エラーが原因でジョブが失敗すると、この設定の値を増やしジョブを再試行することができます。有効範囲は 30 から 86,400 (1 日) で、既定値は 1,800 (30 分) です。

クリーンアップ間隔 (時間)

[クリーンアップ間隔] 設定では、キューのクリーンアップ ジョブが実行される間隔 (時間) を構成できます。有効範囲は 1 から 100,000 で、既定値は 24 (1 日) です。たとえば、クリーンアップ間隔が既定値 24 に設定されている場合、キューのクリーンアップ ジョブは 24 時間ごとに実行されます。キューのクリーンアップ ジョブが実行される時間は、[クリーンアップ間隔のオフセット値] 設定で設定できます。

クリーンアップ間隔のオフセット値 (分)

[クリーンアップ間隔のオフセット値] 設定では、キューのクリーンアップ ジョブが実行される時間を指定します。既定値は 0 で、クリーンアップは 12:00 A.M. に実行されます。有効範囲は 0 (12:00 A.M.) から 1,439 (11:59 P.M.) です。この設定は [クリーンアップ間隔] 設定と一緒に使用します。たとえば [クリーンアップ間隔のオフセット値] が 180 に設定され、[クリーンアップ間隔] が 24 に設定されている場合、キューのクリーンアップ ジョブは毎日 3:00 A.M. に実行されます。

[クリーンアップ間隔のオフセット値] を使用して、キューブ サービスの実行をスケジュールしてからクリーンアップを実行したい場合があります。このようなときは、キューブ サービスを夜の 12 時に実行する場合、クリーンアップの実行を夜の 12 時の数時間後まで延期することができます。

成功したジョブのクリーンアップの経過時間制限 (時間)

[成功したジョブのクリーンアップの経過時間制限] 設定では、正常に終了したジョブをシステムから削除する時間を構成できます。この設定は、[成功したジョブのクリーンアップの経過時間制限] フィールドに値 (時間) を入力して構成できます。入力した値で、クリーンアップ間隔中にジョブを削除するキューが構成されます。ただし正常に作成されたジョブの経過時間がその値以上の場合に限ります。

たとえば、[成功したジョブのクリーンアップの経過時間制限] 値を 24 (既定値) に構成するとします。[クリーンアップ間隔のオフセット値] は、ジョブが毎日 12:00 A.M. にクリーン アップされるように構成されています。9 月 1 日 11:55 P.M. に正常に終了した発行ジョブがある場合、そのジョブは 24 時間経過した 9 月 3 日 12:00 A.M まで削除されません。9 月 2 日 12:00 A.M. のクリーンアップでは、5 分しか経過していないためジョブは削除されません。

注意

一般的に、成功したジョブの数は失敗したジョブの数と比較すると非常に多くなります。したがって、[成功したジョブのクリーンアップの経過時間制限] は、通常、[成功しなかったジョブのクリーンアップの経過時間制限] の値よりも小さい値に設定されます。

注意

既定の Project Server のカテゴリは削除できません。

成功しなかったジョブのクリーンアップの経過時間制限 (時間)

[成功しなかったジョブのクリーンアップの経過時間制限] 設定では、成功しなかった状態で完了したジョブをシステムから削除する時間を構成できます。この設定は、[成功しなかったジョブのクリーンアップの経過時間制限] フィールドに値 (時間) を入力して構成できます。入力した値で、クリーンアップ間隔中にジョブを削除するキューが構成されます。ただし成功しなかったジョブの経過時間がその値以上の場合に限ります。成功しなかったジョブがシステムから削除される方法は、成功したジョブがシステムから削除される方法と同じです。

注意

[失敗 (相互関係をブロック中)] 状態のジョブは、正常に再試行されるか取り消されるまで履歴の中に残ります。成功しなかったジョブのクリーンアップは、この状態のジョブには影響しません。

この設定の既定値は 168 時間 (7 日) です。ジョブの状態情報は、ジョブが正常に完了しなかったときの問題のトラブルシューティングのために重要なので、この値を既定の設定より小さく設定しないことをお勧めします。

ブックキーピング間隔 (ミリ秒)

キュー システムによって実行される "ブックキーピング" タスクがいくつかあります。たとえば、"スリーピング" 状態のジョブのアクティブ化、ハートビート タイム スタンプの更新、キューのクリーンアップ ジョブを実行する必要があるかどうかの確認などのタスクがあります。[ブックキーピング間隔] 設定では、これらのタスクが実行される間隔 (ミリ秒) を管理します。

有効範囲は 500 から 300,000 で、既定値は 10,000 (10 秒) です。

キューのタイムアウト (分)

複数のアプリケーション サーバーを含むファームでは、キュー サービスがサーバーの 1 つで失敗すると、ジョブはキューサービスがアクティブな残りのアプリケーション サーバーに自動的に分散されます。キューサービスは、[キューのタイムアウト] 値 (分) よりも長い時間ハートビートを更新しなければ、タイムアウトしたと見なされます。ハートビートは、(たとえば、発行済みデータベースおよびドラフト データベースがジョブのためにポーリングされるたびに) 関連するすべての Project Web App データベース内のキューによって更新されます。

有効範囲は 2 から 20 で、既定値は 3 です。

注意

[キューのタイムアウト] 値は、どのようなときも [ブックキーピングの間隔] の 4 倍以下にすることはできません。この規則に違反すると、[キューのタイムアウト] 値は自動的にブックキーピング値の 4 倍に変更されます。

注意

既定の Project Server のカテゴリは削除できません。

高速ポーリング

既定では [高速ポーリング] 設定が有効になっているため、[処理待機中] 状態のすべてのジョブを処理するキューをできるだけ早く処理することができます。ただしこの高速処理によってサーバーがオーバーロードになりキューが低速になる場合は、この設定を無効にすることができます。

[高速ポーリング] が無効の場合、キューは、ジョブを処理する空きスレッドがあるかどうかをチェックします。ある場合は、[処理待機中] 状態のジョブとともに空きスレッドが読み込まれます。次に、キューはポーリング間隔を待ち、処理を繰り返します。

[高速ポーリング] が有効な場合、保留中のジョブがあれば、キューはポーリング間隔を待ちません。ジョブが処理されるときに、保留中のジョブすべてが直ちに処理されます。