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.org
Received 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.