----- Original Message ----- From: "Henrik Nordstrom" <[EMAIL PROTECTED]>
> > Squid does application level splicing with multiple receivers (one or > more clients + cache) per server connection. It does not use any > kernel level splicing primitives. > Thanks for the information, I was unaware of that. Although im not so sure that 'mapping' multiple client->proxy connections to a single proxy->webserver connection is exactly what is meant here. If that is what you are describing here. > > Lower level splicing would not make much sense in Squid as > Squid needs access to the data itself for caching > Since the implementation in AIX 5.x is supposed to be a socket-level tcp splice, couldn't the proxy just copy the data from the socket for caching purposes ? Apart from that, aren't there people running Squid without caching on disk in a configuration without cache or cache-in-memory-only (not sure what Squid does when you tell it not to cache on disk) as well, for whom it would still be beneficial ? Not everyone needs the cache, but primairly use it for the authentication and usage statistics. > > and for a large portion of the traffic (headers) it needs to modify > the content before it is forwarded. > Ok, point taken. But even so, once the proxy has determined : 1.) The content as being non-cacheable 2.) being an SSL connection making the splice at that point would still gain performance. > > And when moving to HTTP/1.1 even less so due to the nature > of the protocol (transfer-encoding etc). > The paper does indeed target HTTP/1.0 primarily, but does talk about future work extending it to work (better) with HTTP/1.1 as well. > > If Squid was just a plain dumb proxy then splicing as described in > these papers would make a better fit. Today only the CONNECT method > is a good fit, but only of the splice primitive includes accounting > allowing the session to be logged correctly > Apart from CONNECT, the paper mentions the GET method as well. Not sure what you exactly mean by "allowing the session to be logged correctly". > > and works with non-blocking sockets. > The splice() implementation in AIX 5.x is supposed to be a kernel-based socket-level tcp splice. Not sure about the "non-blocking" part, though. (Note: all references here are made to the paper ""An Evaluation of TCP Splice Benefits in Web Proxy Servers" unless otherwise stated) Anyways, just my 2$ Sincerely, John Smith.
