AnkhSVN Commits Are Very Slow

2019-05-23 05:57发布

问题:

Recently, I had to move my SVN repositories to a different server, but I am experiencing some performance problems since the move.

I am using Visual Studio 2005, AnkhSVN 2.1.7819.411 and TortoiseSVN 1.6.6 on my workstation and VisualSVN Server on the server which runs Windows Server 2008.

Whenever I try to commit a file or view the file history in Visual Studio it takes twenty odd seconds.

I confirmed that an exception has been made for VisualSVN Server on the server's firewall, but when I disable the server's firewall the performance is back to normal (1-2 seconds for a commit). When I do a commit or check the log on a file in TortoiseSVN the performance is fine as well.

To ensure that the problem was not related to the moving of the repositories, I am running these tests against a new repository which was created on the new server.

So, I reckon the problem lies with AnkhSVN, but am at a loss as how to diagnose it further.

Any help would be greatly appreciated.

回答1:

Which hostname do you use to connect to your server?

Does that hostname resolve to an IPv6 and a IPv4 address? (http://localhost does that on Windows Vista and later).

The Subversion used by AnkhSVN (SharpSvn) is IPv6 enabled, so it will try IPv6 before IPv4 if a host resolves to both address types.

You can try if this is an issue by starting a

ping <hostname>

on a command prompt. If the host is IPv6 enabled you should see IPv6 addresses there. And if not, just the normal IPv4 addresses.

If you use https:// to connect to your host, then you might see a different issue: If AnkhSVN uses neon 0.29.0-.0.29.2 3 (See Help->About), neon has a performance regression since earlier versions that are still used by some of the other clients.

Neon 0.29.0-0.29.2 try to close https connections in a different way that causes slowdowns if you use a proxy or a non apache server that handles connection closes in a different way. This issue was resolved in neon 0.29.3, which is available in later AnkhSVN versions.



回答2:

I had this exact same problem. Thanks Bert for pointing me in the right direction! But it bears repeating here, because I don't think Bert really spelled it out in his answer:

Solution: If your machine is resolving your AnkhSVN host using IP6, create an IP4 alias for it in your hosts file.



回答3:

On my internal server running Windows 7. I simply disabled IPv6 and it worked perfectly. No delay when committing. Here's detailed instructions

1) right click network icon tray 2) open network sharing 3) Under View your active networks subsection, click "Connections: Local Area Connection" link (default name). It will bring up connection properties window. 4) Click Properties button. 5) Uncheck IPv6. Click Ok.

Ps, love Ankh. For anyone not sure, this integrates wonderfully into Visual Studio, and is better than VisualSVN. my 2 cents.