5

Accurev当前版本 (4.7) 的性能如何?

  • 每 100mb,每 GB 结帐的时间?
  • 每 # 个文件或 mb 提交的时间?
  • 100 多个流时 gui 的响应能力?

我刚刚演示了 Accurev,流看起来像是围绕代码/项目建模工作流的轻量级方式。我听说有人称赞 Accurev 的流后端并抱怨性能。Accurev 似乎对性能有所帮助,但我想获得一些真实世界的数据,以确保它不是演示运行良好的情况。

有没有人有 Accurev 性能轶事或(甚至更好的)测试数据?

4

2 回答 2

8

我没有任何数字,但我可以告诉你我们在哪里发现了性能问题。

我们的构建通常使用来自源代码控制的 30-40K 文件。在我的工作空间中,目前有超过 66K 的文件,包括构建中间文件和输出文件,大小超过 15GB。为了使 AccuRev 保持响应式工作,我们积极使用忽略元素,因此 AccuRev 忽略任何中间文件,例如 *.obj。另外我们使用时间戳优化. 一般来说,运行更新很快,但项目规模通常为 5-10 人,因此如果您每天更新,通常只会下载几十个文件。即使有人进行了涉及大量文件的更改,速度也不是问题。另一方面,所有 30K+ 文件的完整填充速度很慢。我没有时间,因为我很少这样做,而且在极少数情况下,我会在去吃午饭或开会时运行填充。我预计它可能长达 10 分钟。一般来说,源文件很快就会下降,但我们有一些大的二进制文件,10-20MB,每个需要几秒钟。

如果排除规则和忽略元素配置不正确,AccuRev 可能需要几分钟时间来为这种大小的工作区运行更新。当我听到其他开发人员抱怨速度时,我知道有些东西配置错误,我们把它理顺了。

大约一年前,其中一个项目用 25K+ 文件更新了 boost,并将 FireFox 添加到存储库中(忘记大小,但让 boost 看起来很小。)他们还添加了 ICU,编写了很多软件并修改了无数文件。我记得总共有大约 250K+ 文件位于流中。不幸的是,我决定将他们所有的好代码提升到根目录,以便所有项目都可以共享。事实证明,这有点超出 AccuRev 的处理能力。这是一个多小时的过程,以促进所有的变化。我记得一旦 FireFox 被提升,其余的都很顺利——也许是一个超过 100K 文件的事务是问题所在?

我最近更新了 boost,因此不得不保留和推广 25K+ 文件。考虑到文件的数量和二进制文件的大小,它花了一两分钟但并非不合理。

至于流的数量,我们有超过 800 个流和工作区。这里的性能不是问题。一般来说,我发现大量流难以导航,因此我只运行我的工作区和我感兴趣的流的过滤视图。但是,当我需要查看未过滤列表以查找某些东西时,性能很好。

最后一点,AccuRev 支持非常棒- 我们称它们为天空之声。我们时不时地使用 AccuRev 射击自己的脚,最终对如何解决问题一无所知。几乎总是我们做了一些愚蠢的事情,然后尝试一些更愚蠢的事情来解决它。最终,我们提出了支持请求,接下来我们知道他们正在通过电话或 goto 会议引导我们完成正义的步骤。我什至联系了他们一些琐碎的事情,我只是没有时间弄清楚,因为我有一个忙碌的一天,他们很友好地引导我完成它,而不是告诉我 RTFM。

于 2009-11-03T13:29:36.647 回答
0

2014 年编辑:我们现在可以通过使用 RealVNC 的商业版本获得可接受的 X-Windows 性能。

原始评论:这个答案适用于任何版本的Accurev,而不仅仅是4.7。首先,如果您可以使用 Web 客户端,GUI 性能可能还可以。如果您不能使用 Web 客户端并且想要 GUI 性能,那么您最好使用 Windows,或者将您的所有开发人员集中在一个地方,即 Accurev 服务器所在的位置。尝试通过 WAN 在 X-Windows 上运行 GUI 吗?算了:我们的经验是几十秒或几分钟的基本点击操作。这是在距离大约 800 英里的相当好的 WAN 上,具有几乎最佳的 ping 时间。这不是 Accurev 的失败,而是 X-Windows 的失败,您可能会在 WAN 上使用其他 X 应用程序时遇到类似的问题。因此,如果可能,请避免使用基本 X。目前我们不能,我们的 WAN 用户被强制降级为仅命令行。基本问题是Accurev是集中式的,你不能提高光速。我相信您可以通过运行 Accurev Replication Servers 来解决 WAN 延迟问题,但是如果您有远程开发人员通过 VPN 在单人办公室工作,这仍然不能正确解决问题。具有讽刺意味的是,复制服务器在某种程度上将这种集中式 VCS 转变为 DVCS 的一种形式。如果您没有复制服务器,那么一个可怕但可行的解决方法是使用增量同步工具(例如 rsync)在可以运行 GUI 的本地计算机之间同步源代码树(即直接在您的计算机上运行的 GUI) Windows 或 Linux 笔记本电脑),以及您实际工作的机器(例如 1,000 英里外的 UNIX 机器)。另一种选择是使用 VNC 之类的东西,它在 WAN 上比 X 效果更好,连接到 Accurev 服务器位置的虚拟桌面,并从那里使用 X。在我的工作场所,不止一个团队使用 Mercurial,仅在绝对必要时才使用 Accurev。正如 Stephen Nutt 上面指出的,其他必要的工作是使用时间戳优化和忽略。当我们需要包含大量文件时,我们也有我们的 Accurev 管理员(是的,它需要你雇人来照顾它)抱怨,尽管事实上它们是我们产品的核心部分并且必须被包含和版本控制。得出你自己的结论。正如 Stephen Nutt 上面指出的,其他必要的工作是使用时间戳优化和忽略。当我们需要包含大量文件时,我们也有我们的 Accurev 管理员(是的,它需要你雇人来照顾它)抱怨,尽管事实上它们是我们产品的核心部分并且必须被包含和版本控制。得出你自己的结论。正如 Stephen Nutt 上面指出的,其他必要的工作是使用时间戳优化和忽略。当我们需要包含大量文件时,我们也有我们的 Accurev 管理员(是的,它需要你雇人来照顾它)抱怨,尽管事实上它们是我们产品的核心部分并且必须被包含和版本控制。得出你自己的结论。

于 2013-09-11T03:23:20.897 回答