- From: Helge Hess <helge.hess@opengroupware.org>
- Date: Wed, 28 May 2008 11:14:09 +0200
- To: WebDAV <w3c-dist-auth@w3.org>, vcarddav@ietf.org
On 28.05.2008, at 09:32, Julian Reschke wrote: > Helge Hess wrote: >> ... >> Probably this was discussed before? Was the conclusion that >> pipelining is a sufficient replacement? >> ... > Any kind of a batched GET defeats caching. Could you elaborate? An MGET capable cache could still disassemble the MGET and serve the individual resources from its cache (which is in fact why I would prefer a real MGET instead of a REPORT). It would really just be a nested request. > So far I haven't seen evidence that doing it will work better than > just issuing many GET requests. The overhead in database based servers is magnitudes higher (at various points, record lookup, flushes, etc). In theory they could coalesce pipelined requests and then perform them in bulk, but this is very hard to do and not viable in practice. Besides that few clients do pipelining. There are many backends which can do set operations magnitudes faster than individual ones. (but I think everyone is aware of that :-) > So, no, there's certainly no consensus for or against it, but it > would be really useful to have scenarios described and benchmarked... Its not a really good example because its not a hugely compliant WebDAV server nor implemented that well, but the OpenGroupware.org ZideStore serves iCal and vCard files via GroupDAV. An individual GET with all the authentication, authorization and vCard building takes ~50ms which hurts a lot when you retrieve 10.000 records, its ~8mins in the initial sync! We do a lot of caching etc to speed things up, but still its pretty slow. Now a multi-GET on moderatly sized batches takes almost the same time, eg for 100 records its still ~70ms. I think thats the reason why CalDAV added those multiget REPORTs, on request of RDBMS based server vendors. Thanks, Helge PS: I'm not suggesting to do this in the core HTTP protocol for general usage! Just as a well defined replacement for the REPORTs so that CalDAV, CardDAV, etc don't invent their own. PS2: Are there servers which actually do pipelining properly? W/o it MGET is also pretty much required to avoid latency on mobile networks. -- Helge Hess http://www.helgehess.eu/
Received on Wednesday, 28 May 2008 09:14:44 UTC