RE: Large Repositories - related to Re: Issuezilla #1350 -- update
From: Johnson, Graham <gjohnson_at_alpineaccess.com>
Date: 2003-07-11 22:28:39 CEST
I took this to mean that I no longer needed to override the default
>time svn co $SVN/trunk/webcenter/prod/htdocs
real 2m2.512s
Should this still be happening? This is httpd 2.0.47 and a revision
-- Graham Johnson gjohnson@alpineaccess.com -----Original Message----- From: Ben Collins-Sussman [mailto:sussman@collab.net] Sent: Friday, July 11, 2003 2:06 PM To: Johnson, Graham Cc: Russell Glaue; dev@subversion.tigris.org Subject: Re: Large Repositories - related to Re: Issuezilla #1350 -- update Ben Collins-Sussman <sussman@collab.net> writes: > Maybe that's the real problem here... can the client really take 3 > minutes just to parse 1000 of those <response> objects? I mean, > neither client nor server is "blocking" on the other, as they used to > be, but still this system isn't optimal. :-( Ah, now I understand what's going on here, after chatting with Sander in IRC. There are two changes that happened recentl, to make checkouts "better". * Change #1: fewer network turnarounds. In the bad old days, our checkouts/updates looked like this: The client parses the REPORT response --> For each file, PROPFIND, GET PROPFIND, GET PROPFIND, GET [...] In the good new days, the algorithm is: The client parses the REPORT response --> For each file, PROPFIND depth 1, cache all file proplists look in cache, GET look in cache, GET look in cache, GET [...] Net result: (A) fewer network requests, and thus faster "overall" times for checkouts/updates. (B) slower perceived startup time, since the GETs start happening later. * Change #2: streamy server PROPFIND response In the bad old days, the PROPFIND depth 1 response would cause mod_dav to build the list in memory, then send it to the client all at once. This often caused the client to time out, assuming it took X seconds for server to generate the list, and X > neon_timeout_val. In the good new days, the server streams the response. But generating the response *still* takes X seconds. Neon is no longer timing out, but it still takes X seconds before the client finishes receiving the whole response and starts doing GET requests. Net result: no more neon timeouts on large directories. So this whole "three minute" thing that you're seeing, Philip, is basically net result (B) in change #1. --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org For additional commands, e-mail: dev-help@subversion.tigris.orgReceived on Fri Jul 11 22:29:35 2003 |
This is an archived mail posted to the Subversion Dev mailing list.
This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.