On Thu, May 8, 2008 at 9:51 PM, Danek Duvall <[EMAIL PROTECTED]> wrote:
> On Thu, May 08, 2008 at 09:17:50PM -0500, Shawn Walker wrote:
>
>> The developer I talked to suggested that instead of doing a tar stream
>> from the server, we could simply allow the client to perform HTTP/1.1
>> pipeline requests for each individual file.
>
> So I'm on record (at least amongst the folks in MPK) as wanting precisely
> this.  I think it's the most RESTful approach, and, ultimately, the
> simplest.
>
> The reason we went with filelist as is, is explained by an internal mail
> from K, back in November (in a thread about doing something similar,
> publication-side):
>
>    I think you'll find that performing multiple adds over the same HTTP
>    connection is slower than what we do today.  W3 published a paper on
>    HTTP pipelining that Stephen and I looked at before filelist was
>    written:
>
>    http://www.w3.org/Protocols/HTTP/Performance/Pipeline.html
>
>    Essentally, these experiments showed no speed improvement for persistent
>    connections, unless the client batched up multiple requests and sent
>    them together.
>
>    Since the support for pipelined HTTP requests isn't really that great
>    right now, we wrote filelist so that we would imitate the behavior of
>    HTTP pipelining without having to rely on support from the HTTP server.
>
> We've all been thinking at least a little about how to improve the current
> filelist.  Dan and I are both strong proponents of making it more RESTful,
> and all of us want it to be more observable (right now the logs are
> completely opaque wrt the filelist ops).  We've been talking about
> decorating the filelist ops to improve it in both aspects, but I still
> think that individual file ops are the way to go, if we can get the
> performance to match what we've got.  Perhaps CherryPy can give us that.

I've had a difficult time determining what the extent and maturity of
http support in cherrypy is.

However, as of 3.0, cherrypy does say that:

"The builtin WSGI server is now HTTP/1.1 compliant! It correctly
handles persistent connections, pipelining, Expect/100-continue, and
the "chunked" transfer-coding (receive only)."

That should mean that both in our test environment, and when we choose
to run it using mod_python, we should be covered as far as pipelining
is concerned.

I will need to do some testing to verify though they have tests of
their own in their test suite for this.

-- 
Shawn Walker

"To err is human -- and to blame it on a computer is even more so." -
Robert Orben
_______________________________________________
pkg-discuss mailing list
[email protected]
http://mail.opensolaris.org/mailman/listinfo/pkg-discuss

Reply via email to