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
