我不得不使用位于我们的Windows域的visual-svn-server。 问题是,使用Windows客户端的速度非常慢。 奇怪的是,与linux客户端相同的存储库非常快。 差距就像3秒对90秒。 我知道有人应该修复服务器,而不是我试图修复客户端,但我没有改变这样做。
所以,为了debugging这个问题,我用wireshark做了一些包捕获,看起来像windows,在svn up(在最新的版本库)上做了很多的ldap协商,然后再和实际的svn-server再次交谈。 这需要时间。 Linux svn客户端在执行'svn'时不会执行任何ldap调用。 问题不在我的机器上,而在我所有的同事的Windows客户端上。
我试图强制svn客户端使用configuration选项http-auth-types( http://svnbook.red-bean.com/en/1.7/svn.advanced.confarea.html )进行“基本”身份validation,但没有帮助。 我认为这将是基本的,没有ldap,http-basic-auth。 我可以确认包含设置,因为将其设置为“摘要”表示authentication方法不可用。 但即便如此,大约需要60秒,所以我的猜测是,在尝试进行身份validation之前,要先执行ldap-wacko的东西。
我使用的颠覆客户端是从龟甲svn官方build设1.8系列。 我也尝试了slicksvn客户端,它也有同样的问题。 svn版本显示ra_serf正在处理https请求,而我的存储库是位于https://my_server_intra_dns_name/
当用浏览器打开地址的时候,它应该再快一点,所以问题不应该与DNS或类似的。
我是Linux的家伙,所以我有点失落与Windows,但有没有人有一个想法跆拳道是在这里?
—-编辑—-我在windows主机上也有linux作为客户机操作系统,而在linux里面做svn的时间大概是3s,比起原生windows的svn.exe'接pipe了一分钟!
如果Windows计算机与Internet的连接有限,则可能会注意到通过HTTPS针对远程存储库运行Subversion客户端命令时的延迟。
使用流量分析器可以注意到,当Windows尝试访问ctldl.windowsupdate.com
并获得超时时,会发生延迟。 Windows尝试访问ctldl.windowsupdate.com
来检查证书信任列表(即证书撤销列表) 。 有限的互联网连接,Windows可能无法访问它,从而导致这些延迟。
如果不是你的情况,那么我建议联系VisualSVN的支持团队进行调查 。
在我的情况下,它是由于Windows代理设置 – 你在IE中设置(我使用TortoiseSVN客户端,和Visual SVN服务器设置为使用基本认证)。
当我设置了IE代理设置accordinlgy(自动对我来说,但对你来说可能是不同的)最初的延迟已经消失了。
它帮助,即使svn服务器是在本地局域网,我已经检查与Wireshark如果流量通过代理。 在乌龟我有代理禁用。 为什么它帮助我的问题 – 不知道。
最初的延误是11-13秒。 现在没有。
而我没有使用SSH客户端。
使用你的浏览器到你的SVN服务器的位置:IE,Fireofx,如果响应很快,那很可能是svn客户端问题,或者是由于类似的设置(类似于你的浏览器设置)。
例如,IE浏览器很慢(以前只是为了本地连接而设置IE),Firefox(具有正确的代理设置)正常 – 而SVN服务器是本地的(听起来像某种网络/防火墙/路由问题,但代理设置帮助过我)。