次の方法で共有


アプリケーション層サーバーのキャッシュ設定を変更する

Azure DevOps Server 2022 | Azure DevOps Server 2020 | Azure DevOps Server 2019

アプリケーション層サーバーのバージョン管理下にあるファイルのキャッシュの設定を変更することで、Azure DevOps Server のデプロイのパフォーマンスを向上またはバランスを取ることができます。 既定では、このキャッシュは有効になっており、ユーザーはデータベースから直接ではなく、キャッシュからファイルをすばやくダウンロードできます。 管理者は、このキャッシュの設定をいつでも変更できます。

これらのタスクは、アプリケーション層サーバーのインストール ディレクトリにあるバージョン管理用の web.config ファイルを編集することで実行できます。

既定では、アプリケーション層のインストール ディレクトリは \ Azure DevOps Server 2019\Application Tier\Web Services%programfiles%です。

前提条件

これらの手順を実行するには、Azure DevOps のアプリケーション層サーバーの Administrators セキュリティ グループのメンバーである必要があります。

詳細については、「 ユーザー アカウント制御」を参照してください。

別のキャッシュ ルート フォルダーを指定する

  1. アプリケーション層サーバーで、キャッシュ フォルダーを作成します。

    フォルダーは、ローカル ディスク、UNC パス、またはマウントされたドライブに作成できます。 たとえば、次のフォルダーを作成できます。

    d:\temp\cacheroot

    重要

    キャッシュ フォルダーには、暗号化されていない機密情報が格納されます。 そのため、アプリケーション層 (TFSService) のサービス アカウントのみがこのフォルダーに対する 変更 アクセス許可を持っていることを確認する必要があります。

  2. フォルダーのショートカット メニューを開き、[ プロパティ] を選択します。

    フォルダーの [プロパティ ] ダイアログ ボックスが開きます。

  3. セキュリティタブで、編集をクリックします。

    [ アクセス許可 ] ダイアログ ボックスが開きます。

  4. [] を選択し、[] を追加します。

    [ ユーザー、コンピューター、またはグループの選択 ] ダイアログ ボックスが開きます。

  5. ローカル グループ TFS_APPTIER_SERVICE_WPGを追加し、[ OK] を選択します。

  6. [ 変更 ] チェック ボックスをオンにし、他のすべてのチェック ボックスをオフにして、[ OK] を選択します。

  7. Windows エクスプローラー (またはファイル エクスプローラー) で、%programfiles%\Azure DevOps Server 2019\Application Tier\Web Services に参照します。

  8. テキスト エディターまたは XML エディターで web.config ファイルを開き、 <appSettings> セクションを見つけます。

  9. 作成したフォルダーを指す行を appSettings セクションに追加します。

    <add key="dataDirectory" value="NewCacheRootFolderLocation" />
    

    たとえば、前の例のように、ハード ドライブの一時ディレクトリに cacheroot という名前のキャッシュ ルート フォルダーを作成した場合は、次の行を追加します。

    <add key="dataDirectory" value="d:\temp\cacheroot" />
    
  10. web.config ファイルを保存して閉じます。

    パフォーマンスを最大化するには、古いキャッシュ フォルダーから新しいキャッシュ フォルダーにファイルをコピーします。

  11. コマンド プロンプト ウィンドウを開き、「 iisreset」と入力し、Enter キーを押します。

  12. 古いキャッシュ ルート フォルダーを削除します。

    既定では、キャッシュ ルート フォルダーは %programfiles%\Azure DevOps Server 2019\Version Control Proxy\Web Services\VersionControlProxy\Data にあります。

キャッシュからファイルを削除するための制限を変更する

アプリケーション層サーバーがファイルのキャッシュに使用できる記憶域領域の上限を変更できます。 この制限に達すると、クリーンアップ ルーチンは、最も古いアクセス時間のファイルを削除することで、新しく要求されたファイルの領域を作成します。

古いファイルがキャッシュから削除される制限を変更する

  1. アプリケーション層サーバーで、Windows エクスプローラー (またはエクスプローラー) を開き、 \%programfiles%\Azure DevOps Server 2019\Application Tier\Web Services を参照します。

  2. テキスト エディターまたは XML エディターで web.config ファイルを開き、 \<appSettings\> 要素を見つけます。

  3. 次のいずれかの要素を追加します。

    • 古いファイルが削除される前に使用可能なディスク領域の割合を指定するには、 PercentageBasedPolicy 要素を追加します。 この要素の値として整数を指定する必要があります。

      たとえば、次の行は、古いファイルが削除される前に、キャッシュが使用可能なディスク領域の最大 60% 容量を埋める必要があることを指定します。

      <add key="PercentageBasedPolicy" value="60" />
      
    • 古いファイルが削除される前にキャッシュが到達する固定サイズを MB 単位で指定するには、 FixedSizeBasedPolicy 要素を追加します。 この要素の値として整数を指定する必要があります。

      たとえば、次の行は、古いファイルが削除される前にキャッシュが 500 MB に達する必要があることを指定します。

      <add key="FixedSizeBasedPolicy" value="500" />
      

      FixedSizeBasedPolicy要素とPercentageBasedPolicy要素の両方が指定されている場合は、PercentageBasedPolicy要素の値ではなく、FixedSizeBasedPolicy要素の値が使用されます。

  4. web.config ファイルを保存して閉じます。

  5. コマンド プロンプト ウィンドウを開き、「 iisreset」と入力し、Enter キーを押します。

古いファイルを削除するときにキャッシュの量を空き容量に変更する

  1. アプリケーション層サーバーで、Windows エクスプローラー (またはファイル エクスプローラー) を開き、%programfiles%\Azure DevOps Server 2019\Application Tier\Web Services\ に移動します。

  2. テキストエディターまたは XML エディターで web.config ファイルを開き、 <appSettings> 要素を見つけて、 CacheDeletionPercent 要素を追加します。

    たとえば、次の行は、古いファイルを削除するときにキャッシュの 50% を解放するように指定します。

    <add key="CacheDeletionPercent" value="50" />
    
  3. web.config ファイルを保存して閉じます。

  4. コマンド プロンプト ウィンドウを開き、「 iisreset」と入力し、Enter キーを押します。

関連記事