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

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

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

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

注意

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

前提条件

これらの手順を実行するには、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両方が指定されている場合、要素のFixedSizeBasedPolicy値の代わりに 要素の値がPercentageBasedPolicy使用PercentageBasedPolicyされます。

  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 キーを押します。

関連記事