![SVN 通过 HTTP 运行非常慢(似乎与身份验证有关)](https://linux22.com/image/1244206/SVN%20%E9%80%9A%E8%BF%87%20HTTP%20%E8%BF%90%E8%A1%8C%E9%9D%9E%E5%B8%B8%E6%85%A2%EF%BC%88%E4%BC%BC%E4%B9%8E%E4%B8%8E%E8%BA%AB%E4%BB%BD%E9%AA%8C%E8%AF%81%E6%9C%89%E5%85%B3%EF%BC%89.png)
我在 Ubuntu 10.04 中通过命令行使用 SVN 版本 1.6.6 (r40053),并通过 HTTP 连接到本地网络中的远程存储库。一段时间内,它运行良好,但最近对于任何需要与存储库通信的操作都变得非常慢,但是它最终会在几分钟后工作(约 3 分钟svn up
)。查看 Wireshark,HTTP 身份验证被拒绝和随后包含凭据的请求之间似乎花了整整一分钟的时间。
该问题只出现在我的计算机上,因为其他运行 Ubuntu 的同事没有遇到此问题,而且我尝试使用另一台计算机上的凭据,速度非常快。
我尝试删除.subversion
主目录中的文件夹并重新检查所有内容,但没有帮助。
更新:我认为它与身份验证有关。当我通过 HTTP 从互联网上检出 SVN 存储库时(从Google 代码(例如),一切都非常快,直到我执行需要密码的操作。在第一次提示输入密码之前,它会停顿至少一分钟。
更新 2:neon-debug-mask
我在 SVN 设置中将(在/etc/subversion/servers
下)设置为 138,但似乎在“ ”[Global]
上花费了很多时间auth: Trying Basic challenge...
答案1
就我而言,在“对 XXX 进行 DNS 查找...”阶段花费了大量时间,其中 XXX 是我在 ~/.subversion/servers 中配置的 HTTP 代理。在这种情况下,存储库列在“HTTP 代理例外”中,但 Subversion 还是进行了 DNS 查找。它可以工作,但延迟非常长(大约 2 分钟)。解决方案只是用 IP 地址替换 XXX。
答案2
事实证明,重启可以解决问题——我从来没想过在 Linux 机器上尝试这种方法。注销可能也能解决问题(我只是习惯锁定它)。
我正在使用 Likewise Open 将我的机器连接到 Windows 域;我认为这一定与此有关。我已经几个月没有重启了。希望这能帮助遇到此问题的其他人。
答案3
我补充道
--username *my_username*
在 svn 命令之后它现在是即时的。
答案4
我曾经遇到过类似的事情,但结果与 IPV6 有关。
您是否在其他方面感受到速度缓慢,例如第一次访问互联网网站时?
如果是这样,您可能需要检查您的 ubuntu 是否设置了 IPV6。