SQL Server 2014 にアップグレードした後の Team Foundation Server 2013 Update 2 のパフォーマンス低下

この記事は、SQL Server 2014 にアップグレードした後の Team Foundation Server 2013 Update 2 の問題のパフォーマンス低下を回避するのに役立ちます。

元の製品バージョン: Team Foundation Server 2013
元の KB 番号: 2953452

現象

Microsoft SQL Server 2014 にアップグレードすると、Microsoft Team Foundation Server 2013 Update 2 のパフォーマンスが低下します。

たとえば、作業項目の追跡の速度が低下します。 この場合、 syncnamechanges=true に設定されているフィールドが多数ある場合、作業項目を開いて変更するのに時間がかかります。

さらに、影響を受ける Team Foundation Server インスタンスに多数の Team Project コレクションがある場合は、次の問題が発生します。

  • スループットは、次のパフォーマンス カウンターによって測定され、大幅に低下します。
    • バッチ要求/秒 (DT)
    • Team Foundation Server Services/Current Reqs/sec (AT)
    • Web サービス/合計メソッド要求数/秒 (AT)
  • 次の DT パフォーマンス カウンターは、平均して増加します。
    • SQL コンパイル/秒
    • SQL Re-compilations/sec
    • %Processor Time

原因

これらの問題は、SQL Server 2014 のハードウェア要件が以前のバージョンのSQL Serverよりも大きいために発生します。

作業項目追跡のパフォーマンスの問題は、作業項目追跡で使用される複数のビューに、この属性を含む各フィールドの Constants テーブルへの 1 つ以上の結合が含まれているために発生します。 SQL Server 2014 の新しいカーディナリティ推定器は、これらの結合が複数の行を返すと誤って判断することがあります。 これらの結合の多くがある場合、SQL Serverビューによって返される行の合計数が大きな数として誤算される可能性があります。 そのため、プログラムは、ビューに関連するクエリ プランを最適化するために多くの時間を費やす必要があると誤って判断します。

回避策

全体的なパフォーマンスの問題を回避するには、次の方法を使用します。

  • 大きな構成 (500 人以上のユーザー) がある場合は、SQL Serverをホストしているコンピューターの RAM を増やします。 従うのが適切な標準は、コレクション データベースあたり 0.4 ギガバイト (GB) です。

    パフォーマンスの問題が解決しない場合は、次の方法を試してください。

  • 次のタスクを実行します。

    • SQL の最小および最大メモリ設定が明示的に設定されていることを確認して、少なくとも 2 GB の空き物理メモリをシステムに残します。
    • SQL サービスを実行しているアカウントのロックされたページを有効にします。
    • SQL トレース フラグ 8032 を有効にします。

作業項目の追跡のパフォーマンスの問題を具体的に回避するには、次の方法を使用します。

  • SQL Server 2014 にアップグレードした後に作業項目を開いたり編集したりしたときにパフォーマンスが大幅に低下する場合は、データベースの互換性レベルの設定を 110 に変更します。 これにより、SQL Serverは以前のカーディナリティ推定ツールを使用します。 このツールは、結合によって返される行の数をより正確に見積もります。

詳細

お問い合わせはこちらから

質問がある場合やヘルプが必要な場合は、サポート要求を作成するか、Azure コミュニティ サポートにお問い合わせください。 Azure フィードバック コミュニティに製品フィードバックを送信することもできます。