Performance (乌龟)SVN中缓慢差异的解决方案?
我经常通过以下方式进行代码审查:Performance (乌龟)SVN中缓慢差异的解决方案?,performance,svn,diff,Performance,Svn,Diff,我经常通过以下方式进行代码审查: 打开SVN日志 选择一个修订 双击一个文件 …等等 看到变化了吗 转到2或3或完成 第四步很烦人。您知道解决方案吗?为您的存储库购买更快的服务器?只是开玩笑,但这个问题的原因可能在于乌龟需要从服务器检索版本的时间。我不认为实际的差异需要很多时间。有趣的是,也许这是git将整个历史存储在本地的原因之一。我怀疑切换到不同的版本控制系统对您的项目是否可行,但我想我应该提到,此功能允许您更快地执行类似的差异。一些问题可能会帮助您找出错误: 4号车厢等了多长时间。步当您
第四步很烦人。您知道解决方案吗?为您的存储库购买更快的服务器?只是开玩笑,但这个问题的原因可能在于乌龟需要从服务器检索版本的时间。我不认为实际的差异需要很多时间。有趣的是,也许这是git将整个历史存储在本地的原因之一。我怀疑切换到不同的版本控制系统对您的项目是否可行,但我想我应该提到,此功能允许您更快地执行类似的差异。一些问题可能会帮助您找出错误:
- 4号车厢等了多长时间。步当您等待时,屏幕上发生了什么
- 到服务器的ping和带宽是多少
- 您使用的是什么不同的实用程序
- 您要区分的文件大小是多少
- 您要差异化的版本有多大
- 第四步。大约需要10秒钟,大部分时间都在等待文件传输(我可以看到文件传输进度条)
- 我对服务器的ping为20,带宽约为2 Mb/s
- 我正在使用WinMerge。我记得与其他一些UTIL(例如DiffMerge)的比较非常缓慢
- 我正在测试的文件是23000行/725kb
- 这是头之前的最后一次修订。对于旧版本,步骤4可能需要更长的时间
如果第4步对你来说需要10秒钟,那么我会说你的设置没有什么特别的问题,你要么接受它,要么开始使用某种更分布式的解决方案,因为80毫秒的ping非常多(像欧洲-美国),你肯定会感觉到延迟。完全分布式系统的另一种替代方法是使用SVN服务器复制,并在离您的工作站较近的地方安装一台复制服务器(在同一个房间、同一个国家,或者如果不可能,至少在同一个大陆上可能会有所帮助)。问题出在我们的服务器上。我不完全理解,但是我们的管理员说了一些关于apache中的一个模块的事情,该模块通过PAM和SQL授权给用户。经过一些更改后,它运行得相当好。从各种回答和评论来看,您的主要问题似乎是集中式服务器的延迟/带宽。 以下是我建议的几条线索:
- 您的服务器是否通过http提供服务/ https或通过SVN服务/ ssh+svn服务。根据我在pre上的经验 1.5 svn,svn服务方式比http/https方式快得多 多文件差异检索。如果我 正确地回忆起我在 此时,http服务使用 需要往返到的协议 每个差异的服务器,而 SVN服务能够发送多个 一气呵成李>
- 您的客户是否能够同时请求多个差异?(我更具体地考虑eclipse synchronize视图,它能够请求树的所有差异,然后让您无需进一步往返即可查看文件
- 我建议的最后一种调查方法是在本地计算机上创建只读缓存,有多种方法可以实现此目的,这些方法已在中探讨过: