如何:更改应用层服务器的缓存设置

更新:2007 年 11 月

作为 Team Foundation 管理员,您可以在安装之后随时更改 Team Foundation 应用层服务器上的源代码管理文件缓存的设置。默认情况下,此缓存在应用层服务器上启用,因为可以从缓存下载文件,而不是直接从数据库下载,所以性能得到了提升。

说明:

如果选择安装了 Team Foundation Server Proxy,则还可以在其上启用缓存。有关更多信息,请参见管理与 Team Foundation Server Proxy 之间的远程连接

可以通过以下方式更改缓存设置:

  • 指定其他缓存根文件夹。

  • 更改从缓存中移除旧文件的限制。

  • 更改移除旧文件时要释放的缓存量。

  • 更改将缓存性能信息保存到文件的时间间隔。

您可以通过编辑版本控制的 Web.config 文件(位于应用层安装目录中)来执行这些任务。

说明:

默认情况下,应用层安装目录为驱动器:\%Program Files%\Microsoft Visual Studio 2008 Team Foundation Server\Web Services\VersionControl。

有关更多信息,请参见下列主题:

必需的权限

若要执行这些过程,您必须是 Team Foundation 应用层服务器上“Administrators”安全组的成员。

除了这些权限,对于运行 Windows Server 2008 或 Windows Vista 的计算机,您可能还需要满足以下要求:

  • 若要使用命令行过程,您可能需要通过以下操作使用提升的权限打开命令提示符窗口:单击“开始”,右击“命令提示符”,再单击“以管理员身份运行”。

  • 若要使用需要 Internet Explorer 的过程,您可能需要通过以下操作以管理员身份启动 Internet Explorer:单击“开始”,单击“所有程序”,右击“Internet Explorer”,再单击“以管理员身份运行”。

  • 若要编辑 web.config 文件,您可能需要通过以下操作以管理员身份启动文本编辑器:单击“开始”,单击“所有程序”,右击所需编辑器,再单击“以管理员身份运行”。

  • 若要访问 SQL Server Reporting Services 的报表管理器、报表或网站,您可能需要将这些网站添加到 Internet Explorer 的受信任站点列表中,或者以管理员身份启动 Internet Explorer。

有关更多信息,请参见 Microsoft 网站

指定其他缓存根文件夹

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

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

    安全说明:

    缓存文件夹存储未加密的敏感信息。因此,您应当确保只有应用层服务帐户对缓存文件夹具有“读取”和“写入”权限。

  2. 右击该文件夹,然后单击“属性”。

    将打开文件夹的“属性”对话框。

  3. 单击“安全”选项卡,然后单击 Add

  4. 添加逻辑组 TFS_APPTIER_SERVICE_WPG,然后单击 OK

  5. 选中 ReadWrite 复选框,清除所有其他复选框,然后单击 OK

  6. 打开 Windows 资源管理器,浏览至驱动器:\%Program Files%\Microsoft Visual Studio 2008 Team Foundation Server\Web Services\VersionControl。

  7. 在文本或 XML 编辑器中打开 Web.config 文件,并找到 <appSettings> 部分。

  8. 定位到 <add key="fileCacheRoot"> 元素。

  9. 将当前缓存根文件夹位置更改为新位置,如以下示例所示:

    <add key="fileCacheRoot" value="NewCacheRootFolderLocation" />
    
  10. 保存并关闭 Web.config 文件。

    说明:

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

  11. 打开命令提示符窗口,键入 iisreset,然后按 Enter。

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

    说明:

    默认情况下,缓存根文件夹位于 …\Program Files\Microsoft Visual Studio 2008 Team Foundation Server\Web Services\VersionControl\Data。

更改移除文件的缓存限制

对于应用层可用于缓存文件的存储空间量设有最大限制。当达到此限制时,缓存中的旧文件将被删除以释放一些存储空间,以便该空间可以用于缓存新请求的文件。清理例程将根据文件的最后访问时间来移除文件。未访问时间最长的文件将最先被删除。

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

  1. 在应用层服务器上,打开 Windows 资源管理器,浏览至驱动器:\%Program Files%\Microsoft Visual Studio 2008 Team Foundation Server\Web Services\VersionControl。

  2. 在文本编辑器或 XML 编辑器中打开 Web.config 文件。

  3. 在 Web.config 中,找到 <appSettings> 元素。

  4. 选择下列操作之一:

    • 若要指定在从缓存中移除旧文件之前要填充的可用磁盘空间的百分比,请找到并更新 <add key="CacheLimitPercent"> 元素。

      例如,下面一行指定在移除旧文件之前缓存应占用 60% 的可用磁盘空间:

      <add key="CacheLimitPercent" value="60" />
      
    • 若要指定在移除旧文件之前缓存要达到的固定大小(单位 MB),请找到并更新 <add key="CacheLimit"> 元素。

      例如,下面一行指定在移除旧文件之前缓存大小应达到 500 MB:

      <add key="CacheLimit" value="500" />
      
      说明:

      "CacheLimitPercent" 和 "CacheLimit" 元素不能同时使用。若要禁用其中一个元素,请省略该元素的值。

  5. 保存并关闭 Web.config 文件。

  6. 打开命令提示符窗口,键入 iisreset,然后按 Enter。

更改移除旧文件时要释放的缓存量

  1. 在应用层服务器上,打开 Windows 资源管理器,浏览至驱动器:\%Program Files%\Microsoft Visual Studio 2008 Team Foundation Server\Web Services\VersionControl。

  2. 在文本编辑器或 XML 编辑器中打开 Web.config 文件。

  3. 找到 <add key="CacheDeletionPercent"> 元素。

  4. 通过更改移除文件时释放的缓存空间的百分比,更新 <add key="CacheDeletionPercent"> 元素。

    例如,下面一行指定移除旧文件时释放 50% 的缓存空间。

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

  6. 打开命令提示符窗口,键入 iisreset,然后按 Enter。

更改保存缓存性能统计信息的时间间隔

可以更改将缓存性能统计信息保存到名为 ProxyStatistics.xml 的 XML 文件的时间间隔。这些统计信息由默认安装的性能计数器跟踪。ProxyStatistics.xml 文件位于应用层安装目录中的 App_Data 文件夹内。

可以从性能监视器或使用 ProxyStatistics Web 服务查看这些性能统计信息。有关更多信息,请参见如何:使用 ProxyStatistics Web 服务检查缓存性能

更改将性能统计信息保存到文件的时间间隔

  1. 在应用层服务器上,打开 Windows 资源管理器,浏览至驱动器:\%Program Files%\Microsoft Visual Studio 2008 Team Foundation Server\Web Services\VersionControl。

  2. 在文本编辑器或 XML 编辑器中打开 Web.config 文件。

  3. 在 Web.config 中,找到 <appSettings> 元素。

  4. 找到 <add key="StatisticsPersistTime"> 元素。

  5. 通过更改每个时间间隔的小时数,更新 <add key="StatisticsPersistTime"> 元素。

    说明:

    最小时间间隔为 1 小时(默认值)。最大时间间隔为 24 小时。

    例如,下面一行指定将统计信息保存到文件的时间间隔应为 2 小时:

    <add key="StatisticsPersistTime" value="2" />
    
  6. 保存并关闭 Web.config 文件。

  7. 打开命令提示符窗口,键入 iisreset,然后按 Enter。

请参见

概念

管理 Team Foundation 应用层服务器