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

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 应用程序层服务器上的 管理员 安全组的成员。

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

指定其他缓存根文件夹

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

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

    d:\temp\cacheroot

    重要

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

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

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

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

    权限 ”对话框随即打开。

  4. 选择 添加

    此时会打开 “选择用户、计算机或组 ”对话框。

  5. 添加 本地组TFS_APPTIER_SERVICE_WPG,然后选择“ 确定”。

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

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

      注意

      如果同时指定 了 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。

相关文章