2014-09-26 122 views
4

我不得不使用位于我们的Windows域的visual-svn服务器。问题在于使用windows客户端的速度非常慢。奇怪的是,与linux客户端相同的存储库非常快。差距就像3秒对90秒。我知道有人应该修复服务器,而不是我试图修复客户端,但我没有改变这样做。在Windows上非常缓慢的svn客户端,非常快速的Linux上的svn客户端

因此,为了调试问题,我用wireshark做了一些包捕获,它看起来像windows,当'svn up'(在最新的版本库上)做了相当多的ldap协商之后,再与实际的svn再次交谈-服务器。这需要时间。 Linux svn客户端在执行'svn'时不会执行任何ldap调用。问题不在我的机器上,而是在所有同事的Windows客户机上。

我试着用配置选项http-auth-types(http://svnbook.red-bean.com/en/1.7/svn.advanced.confarea.html)强制svn客户端进行'基本'认证,但它没有帮助。我认为这将是基本的,没有ldap,http-basic-auth。我可以确认包含该设置,因为将其设置为“摘要”表示认证方法不可用。但即使这需要大约60秒,所以我的猜测是它在尝试进行身份验证之前先执行ldap-wacko的东西。

我使用的颠覆客户端是来自乌龟svn官方版本的1.8系列。我也尝试过slicksvn客户端,它也有同样的问题。 svn版本显示ra_serf正在处理https请求,我的存储库是可视-svn服务器,位于https://my_server_intra_dns_name/

当使用浏览器打开地址时,它的速度应该很快,所以问题不应该与dns或类似的问题。

我是linux的家伙,所以我有点迷失在窗户,但有没有人有一个想法跆拳道是在这里?

----编辑---- 我在linux主机上也有linux作为客户机操作系统,而在linux里做svn的时间大概是3s,比较本地windows的svn.exe'接管了一分钟!

+0

你运行什么VisualSVN服务器版本?您的Windows(客户端)机器是否连接到Internet? – bahrep 2014-09-26 11:09:58

+0

Windows客户端和Linux客户端都连接到互联网,视觉svn服务器版本是3.0。 – susundberg 2014-09-26 11:38:43

+0

我不认为服务器软件是一个问题。这可能是一些低级别的网络设置(可能在Windows客户端上)导致麻烦。我们使用类似的配置,一切运行顺利。 – 2014-09-26 19:07:32

回答

2

如果Windows计算机与Internet的连接有限,那么在通过HTTPS对远程存储库运行Subversion客户端命令时,您可能会注意到延迟。

使用流量分析器可以注意到,当Windows尝试访问ctldl.windowsupdate.com并发生超时时,会发生延迟。 Windows试图访问ctldl.windowsupdate.com来检查Certificate Trust List (i.e. Certificate Revocation List)。由于Internet连接有限,Windows可能无法访问它,从而导致这些延迟。

如果不是你的情况,那么我建议contacting VisualSVN's support team for investigation

+0

感谢您的建议。这似乎并非如此,即使连接该服务器,我也看不到窗户。对我来说,似乎时间花在LDAP查询上,可能会超时。但是我认为你在正确的轨道上怀疑证书依赖的问题。 – susundberg 2014-09-26 13:27:43

+2

@susundberg如果可能,Windows使用LDAP进行证书吊销检查。 – 2014-09-26 19:21:46

+1

@IvanZhakov谢谢!这真的是引导我寻求解决方案的关键。我结束了谷歌搜索和发现页面(http://technet.microsoft.com/en-us/library/cc753863.aspx#BKMK_Rev_Local),并将超时选项从网络检查的默认15s和20s更改为1s和1s客户尽可能快地工作。 – susundberg 2014-09-30 07:46:51

0

在我的情况下,它是由于Windows代理设置 - 你在IE中设置(我使用TortoiseSVN客户端,Visual SVN服务器设置为使用基本认证)。

当我设置了IE代理设置accordinlgy(自动为我,但对你来说它可能是不同的),最初的延迟已经消失。

即使svn服务器在本地局域网上,并且如果流量经过代理服务器,我已经使用Wireshark进行了检查,它对此有所帮助。在乌龟中,我禁用了代理。为什么它有助于我的问题 - 不知道。

我最初的延误是11-13秒。现在没有。

而我没有使用SSH客户端。

使用您的浏览器转到您的SVN服务器的位置:IE,Fireofx,无论如何,如果响应很快,那么很可能是svn客户端问题,或者由于某些类似的设置类似于您的浏览器设置)。例如,IE浏览器速度很慢(以前只设置了本地连接的IE),Firefox(具有正确的代理设置)正常 - 而SVN服务器本地化(听起来像某种网络/防火墙/路由问题) ,但代理设置帮助我)。