更改应用程序层服务器的缓存设置

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

可以通过更改应用程序层服务器上版本控制的文件的缓存设置,帮助提高或平衡 Azure DevOps Server 部署中的性能。 默认情况下,此缓存处于启用状态,以便用户可以从缓存中快速下载文件,而不是直接从数据库下载文件。 作为管理员,可以随时更改此缓存的设置。

可以通过编辑位于应用程序层服务器上的安装目录中的版本控制 web.config 文件来执行这些任务。

注释

默认情况下,应用程序层的安装目录 %programfiles%\Azure DevOps Server 2019\Application Tier\Web Services。

先决条件

若要执行这些过程,你必须是 Azure DevOps 应用程序层服务器上的 管理员 安全组的成员。

有关详细信息,请参阅 用户帐户控制

指定其他缓存根文件夹

  1. 在应用程序层服务器上,创建缓存文件夹。

    可以在本地磁盘、UNC 路径或装载的驱动器上创建文件夹。 例如,可以创建以下文件夹:

    d:\temp\cacheroot

    重要

    缓存文件夹存储未加密的敏感信息。 因此,应确保只有应用程序层的服务帐户(TFSService)具有对此文件夹的 “修改” 权限。

  2. 打开文件夹的快捷菜单,然后选择“ 属性”。

    此时会打开文件夹的 “属性 ”对话框。

  3. 在“安全性”选项卡上,选择“编辑”。

    此时会打开 “权限 ”对话框。

  4. 选择 并添加

    选择用户、计算机或组 ”对话框随即打开。

  5. 执行以下操作:添加本地组TFS_APPTIER_SERVICE_WPG,然后选择确定

  6. 选中“ 修改 ”复选框,清除所有其他复选框,然后选择“ 确定”。

  7. 在 Windows 资源管理器(或文件资源管理器)中,浏览到 %programfiles%\Azure DevOps Server 2019\应用程序层\Web 服务。

  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" />
      

      注释

      如果同时指定了FixedSizeBasedPolicyPercentageBasedPolicy元素,则使用FixedSizeBasedPolicy元素的值,而不是使用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。

相关文章