Project Server 2013 でパフォーマンスを最適化する

概要: Project Server 2013 展開のパフォーマンスの最適化に関するガイドラインを紹介します。
適用対象: Project Server 2013

最適化

このドキュメントおよび関連コンテンツには、パフォーマンスを最適化するために Project Server 2013 ファームをチューニングするための情報と推奨事項が含まれています。

ベースライニング

通常、所定の任意の時間に保存したベースラインの数は制限をすることをお勧めします。 所定の時間でサポートされるベースライン数のハード リミットは 11 個のみです。

データベース サーバーの最適化

Project Server 2013 はデータを集中的に使用するアプリケーションなので、データベース層を最適化するとパフォーマンスが大幅に向上することがあります。 SQL Server 設定の最適化に関する広範なガイドラインについては、SQL Server 記憶容量の計画と構成のトピックを参照してください。 ここで示す推奨事項の中には、SQL Server に関する推奨事項に焦点を当てているものがあります。

  • データベース ファイルとトランザクション ログ ファイルを OS ドライブから分離します。できれば、それぞれを独自のパーティションに分けます。 これは、ホスト オペレーティング システムとSQL Serverの間の IO 競合を減らし、SQL データベース ファイルとログ ファイル間の IO 競合を減らすことで役立ちます。これは、使用される回復戦略に応じて異なる更新パターンを持つ傾向があります。

  • TempDB を独自のパーティションに分割します。 データベースを複数の物理ファイルに分割します。理想的には、データベース サーバー上のプロセッサと同じ数のファイルに分割します。

データのニーズに応じて RAID サブシステムを利用することを検討します。 注 - RAID 5 は、中規模および大規模のデータセット サイズでは許容されますが、RAID 10 が理想的です。
注 - インデックスを独自のパーティションに移動します。

マスター プロジェクトの最適化

Project Server でマスター プロジェクト機能を使用する場合、マスター プロジェクト スケジュールの変更は、マスター プロジェクト内のサブプロジェクトのスケジュールに影響を与える点に注意してください。 そのため、サブプロジェクト計画を更新する必要があるため、非常に大規模なマスター プロジェクトのスケジュール変更の実行速度が遅くなる可能性があります。

セキュリティ設定の最適化

注 - SharePoint アクセス許可モードを使用している場合、最適化は不要です。

Project アクセス許可モードの場合、ユーザーに対して選択するセキュリティ設定は、パフォーマンス特性に大きな影響を与えます。 これは、プロジェクトを表示するときにユーザーが読み込むデータ量と、ユーザーが持っているアクセス許可の対象データ セットを確認するときに実行されるセキュリティ チェックの複雑性の両方が、このセキュリティ設定によって確認されるからです。

たとえば、管理者は Project Server に保存したすべてのプロジェクトにアクセスできるため、操作するときにすべてのデータを読み込む必要があります。 チーム メンバーはすべてのデータにアクセスする必要がない場合があるため、セキュリティ カテゴリを使用して送信されるデータの量を制限できます。

  • 可能な場合は、複雑なセキュリティ チェックが必要な詳細な権限ではなく、グループおよびカテゴリを使用します。
  • ユーザーのセキュリティ アクセス許可を、そのユーザーがアクセスする必要があるプロジェクトに制限してみます。 これにより、Project Server を操作するときに、必要なデータのみが読み込まれるようになります。

ビューの最適化

  • 特定のビューの列の数を、そのビューに対するアクセス許可を持つユーザーが表示する必要がある列のみに制限することで、ユーザーに表示されるデータを制限する必要があります。 また、ユーザー設定フィールド列を追加すると、ビューのパフォーマンスに悪影響が及びます。

  • フィルターを使用して、特定のビューを読み込むときに読み込まなければならないデータ量を制限することもできます。 ただし、複雑なロジックを持つフィルターには追加の計算が必要なので、この結果、パフォーマンスが低下することもあります。

ユーザー設定フィールドの最適化

ユーザー設定フィールドを使用したときのパフォーマンスへの影響は、使用されるユーザー設定フィールド (部署フィールドとエンタープライズ フィールドの両方) の複数の要素によって決まります。 次に、カスタム フィールドのパフォーマンスの側面に関するいくつかの考慮事項と提案を示します。

  • ユーザー設定フィールドによるパフォーマンスへの影響は、以下の要素によって決まります。

    • ユーザー設定フィールドによるパフォーマンスへの影響は、以下の要素によって決まります。

      • 使用するユーザー設定フィールドに格納されているデータの量。 (一般的に疎か、または特定のユーザー設定フィールド列に大量のデータがありますか?
      • 数式フィールドの場合は、より複雑な数式が使用されているほど、パフォーマンスに悪影響を及ぼします。
      • ユーザー設定フィールドのレベル:
    • 使用するユーザー設定フィールドに格納されているデータの量。 (一般的に疎か、または特定のユーザー設定フィールド列に大量のデータがありますか?

    • 数式フィールドの場合は、より複雑な数式が使用されているほど、パフォーマンスに悪影響を及ぼします。

    • ユーザー設定フィールドのレベル。 通常、データセットに含まれるタスクの数はプロジェクト数を大幅に上回ります。したがって、タスク レベルで適用されたユーザー設定フィールドがパフォーマンスに与える悪影響は、プロジェクト レベルのユーザー設定フィールドよりも大きくなります。

  • この問題に対処するには、一般的には、特にタスク レベルで使用されているユーザー設定フィールドの数を制限してみます。 一般的な規則として、10 から 15 未満のタスク レベルのエンタープライズ ユーザー設定フィールドを使用してください。

  • 観察対象のほとんどの顧客データ セットにおいて、Project Professional からサーバーへの保存作業で主なボトルネックになっているのが、タスクと割り当てのユーザー設定フィールドです。

ローカルのユーザー設定フィールドの最適化

ユーザー設定フィールド使用の最適化に関する推奨事項に従って、Project クライアントで使用されているローカル数式フィールドの数を制限することで、ローカル数式フィールドの使用を最適化します。

カスタム フィールドのパフォーマンスへの影響は、サーバーへの保存に必要な時間を増やす追加のデータ転送が必要であるため、可能な限り数式フィールドの使用を制限することに特に依存します。

ページのペイロードの最適化

特定のページの読み込み時間を決定する際に最も重要な要素の 1 つは、特定のページ要求でアクセスする必要があるデータの量です。 これは主に、Web パーツの数と Web パーツの種類、および所定のページに表示されるデータ量によって決まります。 Project Server ページのペイロードの制限に関する一般的な推奨事項を以下に示します。

  • Web パーツが読み込むデータ量を、読み込む必要があるデータのみに制限します。

  • ペイロードに関する考慮事項は、プロジェクト詳細ページ (PDP) では特に重要です。この PDP の所定のページには Web パーツが多数存在することが多く、カスタマイズも頻繁に行われているからです。

キューの最適化

Project Server 2013 では、キュー システムを利用して要求を行う方法を処理し、全体的に見て、さらに多くの要求を処理できるようにします。 キューの動作に関連する一部の設定については、[キューの設定] ページで変更できます。 このセクションでは、変更できる設定と、その設定を必要に応じて最適化する方法について簡単に説明します。 最大スレッド数 (1 から 20、既定の 4): これにより、キューが任意の時点で並列に処理できるジョブの数が決まります。 これはファーム内のすべてのマシンに適用されることに注意してください。3 つのアプリケーション サーバーがあり、プロジェクト キューに対してこの値を 4 に設定すると、一度に最大 12 個の独立したプロジェクト ジョブを処理できます。

最大スレッド数 (1 から 20、既定の 4): これにより、キューが任意の時点で並列に処理できるジョブの数が決まります。 これはファーム内のすべてのマシンに適用されることに注意してください。3 つのアプリケーション サーバーがあり、プロジェクト キューに対してこの値を 4 に設定すると、一度に最大 12 個の独立したプロジェクト ジョブを処理できます。

キュー ジョブが、同期負荷から離れて過度な量のリソースを消費している場合は、以下の操作を行ってみます。

多くのジョブが同時に処理されている場合、つまり、キューの状態を確認したときに、"処理中" 状態のジョブが同時に複数表示される場合は、スレッド数を減らしてみます。

負荷処理の最適化

Project Server の展開を操作および維持する方法の特定の側面は、Project Server のパフォーマンスを向上させるのに役立ちます。 このセクションでは、ビジネスまたは IT 関連のプロセスを変更し、ユーザーがシステムを操作する可能性が高い時間帯に Projct Server のパフォーマンスを向上させる方法について説明します。

  • タイムシートと進捗状況の送信:
    • 可能な場合は、ユーザーが進捗状況を更新したり、タイムシートを送信したりする時間が重ならないように調整します。 これにより、より長い期間に負荷が分散されるようになり、ピーク時におけるシステムへの負荷が減ります。
  • バックアップ:
    • 可能な場合は、非ピーク期間中にバックアップ プロセスを実行する必要があります。これらはリソースを集中的に使用するプロセスであり、実行中にシステムを使用しようとしているユーザーのパフォーマンスが低下します。
  • レポート:
    • バックアップ プロセスと同様に、非ピーク期間中にレポートを行うために OLAP キューブの構築を実行する必要があります。これらはリソースを集中的に使用するプロセスであり、実行中にシステムを使用しようとするユーザーのパフォーマンスが低下します。
  • SharePoint アクセス許可モード:
    • SharePoint アクセス許可モードが有効になっている場合、"SharePoint ユーザー同期" は必要ないのでパフォーマンスが向上します。

ワークフローの最適化

ワークフロー機能を使用している場合は、以下の操作に気を付けてください。これらの操作により展開のパフォーマンスが大幅に低下します。

  • データベースに大量のプロジェクトが保存されている場合は、[サーバー設定] の [ワークフローの変更または再起動] ページの読み込みに時間がかかる場合があります。
  • [サーバー設定] の [ワークフローの変更または再起動] ページから、大量のプロジェクトに対して EPT を再起動または変更する。
  • 非常に多くのユーザーに対する承認処理がある。
  • チェックインを不要にして、ワークフロー ステージから同時にプロジェクトを送信する。

一般的に、これらの操作は最小限に抑えるか、低トラフィックの時間帯に実行してパフォーマンスを最適化することをお勧めします。

カスタム ソリューション (プログラム機能) の最適化

Project Server のプログラム可能なインターフェイスを利用するカスタム ソリューションを開発する場合は、以下のパフォーマンスに関する推奨事項を考慮してください。

  • イベント ハンドラーをデプロイする場合は、イベント ハンドラーが同期的であることに注意してください。 プロジェクト サーバーのパフォーマンスを大幅に向上させる可能性があるため、カスタム ソリューションでイベント ハンドラーを使用する場合は注意する必要があります。

    注:

    イベント ハンドラーは、別のコンピューターで実行できます。

  • カスタム ソリューションでは、キューが過負荷にならないように、Project Server でのキュー操作に対する呼び出しの調整を試みる必要があります。
  • 基幹業務 (LOB) アプリケーションについては、Project Server と他のアプリケーションとの間のデータ移動を自動化するとき、これらのアプリケーションとの同期によってパフォーマンスが大幅に低下した場合は、ピーク時以外の時間帯に同期処理を実行することをお勧めします。
    • 顧客側で、ユーザーに対するパフォーマンスの他に、LOB アプリケーションのパフォーマンスをテストおよび監視することを強くお勧めします。
    • 可能な場合は、ユーザー設定フィールドではなく、Project Server の組み込みフィールドを使用して Project Server と LOB アプリケーションを同期させるようにします。
    • LOB アプリケーションと Project Server の間で移動するデータは最小限に抑えます。つまり、目的の機能を実現するのに必要な最小サブセットにします。

Project Server 2013 SDK と関連記事には、高いパフォーマンスを維持しながらカスタム ソリューションを開発するための推奨事項がさらに詳しく記載されています。

関連項目

Project Server 2013 でのパフォーマンスおよび容量の計画の概要

容量計画の戦略 (Project Server 2013)

パフォーマンスと容量に関するハードウェアの推奨事項 (Project Server 2013)

Project Server 2013 のスケール アップおよびスケール アウト トポロジ

Project Server 2013 でパフォーマンスを最適化する

Project Server 2013 のパフォーマンス カウンター

Project Server 2013 のパフォーマンスに関するトラブルシューティング

一般的なデータセット (Project Server 2013)