On Jan 11, 2008, at 17:47, Karen Tracey wrote:
> At 06:10 AM 1/11/2008, Thomas Pircher wrote:
>
>> [this is probably a FAQ, but I could not find it in the Subversion  
>> FAQ.]
>> A simple 'svn cat file' produces an incredible network traffic. For
>> example, a
>> svn cat http://svn.collab.net/repos/svn/trunk/BUGS
>> produces over 70 packets over the network. When I do it on our  
>> internal
>> SVN server (HTTP with authentication) I get the beauty of 278 IP  
>> packets
>> transferred over the wire.
>>
>> The SVN client and our internal server are both on version 1.4.4  
>> and are
>> running on Linux.
>>
>> Is this due to a misconfiguration on my side? Is it possible to  
>> optimize
>> the traffic? I'm accessing our internal SVN server through a  
>> _very_ slow
>> VPN, so reducing the amounts of packets would give me a huge benefit.
>
> Based on a wild guess and some experiments I just tried, the 70 vs.  
> 278 packets is probably a result of your internal SVN server being  
> configured with KeepAlive Off.  For my own server (where I use  
> https://) I get 86 packets for a small file cat with KeepAlive On  
> and 343 with KeepAlive Off.  So configuring KeepAlive On in the  
> Apache config for your internal server could help.  (svn.collab.net  
> is apparently configured with it On)
>
> Still, 70+ packets for a tiny-file cat seems like a lot.  I took my  
> own packet capture for the BUGS file with a tool that could parse  
> the payloads and it shows that the SVN client issues 18 PROPFINDs  
> before finally sending the GET for the file.  Each of these is sent  
> in two pieces, first the headers and than the xml of the content;  
> the response comes in a single packet.  So that is 3*18 = 54  
> packets, plus 2 for the actual GET and its response, plus 6 for  
> typical minimum TCP connection setup and teardown: 62 packets.  In  
> my trace there were an additional 14 packets of TCP overhead from  
> bare ACKs that did not get piggypbacked on data, for a total  
> exchange of 76 packets.
>
> What are all those PROPFINDs?  Oddly, 11 of them seem to be  
> duplicates of ones requested earlier in the exchange.  I know  
> nothing of SVN internals, so I have no idea why it does this.   
> There may be a good reason, or I may be missing some subtle  
> difference in the requests.  It may also be a case of this just not  
> being an optimized path -- after all, most often you are expected  
> to be operating on your working copy, and not going to the server  
> at all.  Update and commit are the paths I would hope would be  
> optimized, more than cat.
>
> But, in case anyone is interested or could explain the behavior,  
> I'll append my breakdown of the "svn cat http://svn.collab.net/ 
> repos/svn/trunk/BUGS" traffic below.  There seems to be a (6 times  
> repeated) pattern of 3 PROPFINDs in sequence where the 1st is  
> always the same and the 2nd and 3rd start to vary after three go- 
> rounds.
Maybe "SVNPathAuthz off" in your httpd.conf would help, if you don't  
need path-based authorization.
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe_at_subversion.tigris.org
For additional commands, e-mail: users-help_at_subversion.tigris.org
Received on 2008-01-12 01:26:50 CET