]> git.ipfire.org Git - thirdparty/squid.git/commit
Convert Http::Stream::reqbuf to a MemBlob, making it configurable at runtime.
authorNathan Hoad <nathan@getoffmalawn.com>
Fri, 24 Jun 2016 05:29:44 +0000 (17:29 +1200)
committerAmos Jeffries <squid3@treenet.co.nz>
Fri, 24 Jun 2016 05:29:44 +0000 (17:29 +1200)
commit4dc4090b6f49b4f85f9edb27c550f7341f1f966e
tree7ba7611960bbbf8a845bfc40fc64f45f69392764
parentb6e07b483683f2b08ab538404393350a18d94e1a
Convert Http::Stream::reqbuf to a MemBlob, making it configurable at runtime.

This also makes many other auxilary changes:

 * Increases the size of Http::Stream::requestBuffer to match that of
   read_ahead_gap. Previously this was a 4kb fixed size buffer. As a result,
   the overhead for a single client connection has been increased by 12 KB in
   the default configuration, but Squid will no longer artifically slow down
   client responses in this situation by fragmenting the read(2)/write(2)
   calls.

 * Improves the performance of large uncacheable replies. This was achieved by
   increasing the buffer size to 16 KB as mentioned above, but it is worth
   mentioning separately. Specifically, for a server, client and proxy all
   running on my local machine, this patch increases throughput on a 5 GB file
   from ~110 MB/s to ~340 MB/s.

 * Documents the influence that read_ahead_gap had on the size of read(2) calls
   for HTTP, and now the size of write(2) calls.

 * Prevent read_ahead_gap from being set to 0. Previously this would result in
   hung requests.

This work is submitted on behalf of Bloomberg L.P.
src/cache_cf.cc
src/cf.data.pre
src/client_side.cc
src/http/Stream.cc
src/http/Stream.h
src/servers/FtpServer.cc