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

Azure DevOps Server 2020 | Azure DevOps Server 2019 | TFS 2018 - TFS 2013

备注

Azure DevOps Server 以前名为 Visual Studio Team Foundation Server。

通过更改应用程序层服务器上版本控制下的文件的缓存设置,有助于提高或平衡 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" />
    

    例如,如果在硬盘驱动器的 temp 目录中创建了一个名为 cacheroot 的缓存根文件夹,则将添加以下行,如前面的示例所示:

    <add key="dataDirectory" value="d:\temp\cacheroot" />
    
  10. 保存并关闭 web.config 文件。

    备注

    若要最大程度地提高性能,请将文件从旧的缓存文件夹中复制到新的缓存文件夹中。

  11. 打开 "命令提示符" 窗口,输入 iisreset,然后按 enter。

  12. 删除旧的缓存根文件夹。

    备注

    默认情况下,缓存根文件夹位于 % programfiles% \Azure DevOps Server 2019 \ 版本控制 Proxy\Web Services\VersionControlProxy\Data。

更改从缓存中删除文件的限制

您可以更改应用层服务器可用于缓存文件的存储空间量的最大限制。 达到此限制时,清除例程会通过删除具有最早访问时间的文件为新请求的文件腾出空间。

更改从缓存中删除旧文件的限制

  1. 在应用层服务器上,打开 Windows 资源管理器 (或文件资源管理器) ,并浏览到 \ % programfiles% \ Azure DevOps Server 2019 \ 应用层 \ Web 服务。

  2. 在文本编辑器或 XML 编辑器中打开 web.config 文件,然后找到 \<appSettings\> 元素。

  3. 添加下列元素之一:

    • 若要指定删除旧文件之前要填充的可用磁盘空间的百分比,请添加 PercentageBasedPolicy 元素。 您必须指定一个整数作为此元素的值。

      例如,下面一行指定缓存填充可用磁盘空间容量的 60% 之后,才能删除旧文件:

      <add key="PercentageBasedPolicy" value="60" />
      
    • 若要指定在删除旧文件之前缓存达到的固定大小(以 MB 为单位),请添加 FixedSizeBasedPolicy 元素。 您必须指定一个整数作为此元素的值。

      例如,下面一行指定缓存应达到 500 MB 之后,才会删除旧文件:

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

      备注

      如果同时 FixedSizeBasedPolicy 指定了和 PercentageBasedPolicy 元素,则使用元素的值 FixedSizeBasedPolicy 而不是元素的值 PercentageBasedPolicy

  4. 保存并关闭 web.config 文件。

  5. 打开 "命令提示符" 窗口,输入 iisreset,然后按 enter。

删除旧文件时要释放的缓存量

  1. 在应用层服务器上,打开 Windows 资源管理器 (或文件资源管理器) ,并浏览到 % programfiles% \ Azure DevOps Server 2019 \ 应用层 \ Web 服务 \ 。

  2. 在文本编辑器或 XML 编辑器中打开 web.config 文件,找到 <appSettings> 元素,然后添加 CacheDeletionPercent 元素。

    例如,下面一行指定删除旧文件时要释放 50% 的缓存:

    <add key="CacheDeletionPercent" value="50" />
    
  3. 保存并关闭 web.config 文件。

  4. 打开 "命令提示符" 窗口,输入 iisreset,然后按 enter。

相关文章