TFS收集在3个月内超过7 TB,如何精简呢?

zhu*_*ang -1 tfs tfs2018

我的客户正在使用TFS 2018 Update 1.,并且由于所有数据都已放入TFS中,包括工作项/代码/文档/构建artificatest /测试用例/测试用例结果。TFS集合正在迅速扩大。因此,我们担心这种规模的潜在性能问题。

我们要确定TFS是否对收集数据库大小有一定的限制,并确定优化此大小的最佳实践。我只是找到一些针对TFS 2015和旧版本的旧文档。在哪里可以找到最新文档?谢谢。

1)缩小TFS集合数据库的方法?TFS收集数据库大小有限制吗?或最佳实践来管理它?

2)深入了解数据库的使用情况,哪一部分空间最多,代码/构建/测试/?3)监视和优化TFS数据库的最佳实践。

Sha*_*zyk 5

建立结果

不仅是构建结果,而且经常被忽略,实际的构建记录会占用大量数据。使用tfsbuild destroy(XAML)永久删除构建记录。过去,我遇到过一些客户,他们的数据库中有180万个“隐藏”构建,并删除了它们,从而节省了大量的数据。这些记录保存在仓库中。

老队项目

当然,销毁旧团队项目可能会返回很多数据。您不需要发送给天蓝色的任何帮助。您也可以考虑拆分集合,而放弃旧项目。如果您再次需要该数据,则可以选择分离该集合并将其存储在某个位置。

冗余文件

删除的分支是非常常见的隐藏大小猪。在TFVC中删除内容时,它们实际上并没有被删除,只是被隐藏了。查找已删除的文件,尤其是旧的开发或功能分支可以为您提供很多数据。使用tf destroy摆脱它们。

您可能还希望在nuget软件包文件夹中查找已签入的文件夹,这些文件夹也可以迅速占用大量空间。

测试附件

喔,是的,尤其是当你使用测试附件,这些都可以长出像疯了似的,这取决于你的TFS版本或者使用内置的测试附件清理功能,或者使用从TFS电动工具测试附件清洁这里

XAML构建

构建定义本身不会占用大量的数据库空间,但是构建结果可能会占用很多。但是上一节已经介绍了这些内容。

确保运行清理作业

TFS通常不会直接从数据库中删除数据,在许多情况下,它只是将内容标记为已删除,以进行最新处理。若要强制立即进行清除,请在Project Collection数据库上运行以下存储过程:

EXEC prc_CleanupDeletedFileContent 1
Run Code Online (Sandbox Code Playgroud)

您可能必须多次运行以下命令,最后一个参数是批处理大小,如果要修剪的项目多于传入的数量,则必须多次运行

EXEC prc_DeleteUnusedFiles 1, 0, 100000
Run Code Online (Sandbox Code Playgroud)

非常有用的文章,提供了更多减少TFS DB大小的方法: 单击此处