Login | Register For Free | Help
Search for: (Advanced)

Mailing List Archive: Varnish: Dev

[PATCH 04/25] Add a (configurable through parameter stream_maxchunksize) chunk size limit when streaming.

 

 

Varnish dev RSS feed   Index | Next | Previous | View Threaded


martin at varnish-software

Jan 22, 2012, 9:53 AM

Post #1 of 1 (51 views)
Permalink
[PATCH 04/25] Add a (configurable through parameter stream_maxchunksize) chunk size limit when streaming.

---
bin/varnishd/cache/cache_fetch.c | 2 ++
bin/varnishd/common/params.h | 1 +
bin/varnishd/mgt/mgt_param.c | 9 +++++++++
3 files changed, 12 insertions(+), 0 deletions(-)

diff --git a/bin/varnishd/cache/cache_fetch.c b/bin/varnishd/cache/cache_fetch.c
index 06d23e6..8cf9350 100644
--- a/bin/varnishd/cache/cache_fetch.c
+++ b/bin/varnishd/cache/cache_fetch.c
@@ -189,6 +189,8 @@ FetchStorage(struct worker *wrk, ssize_t sz)
l = sz;
if (l == 0)
l = cache_param->fetch_chunksize;
+ if (wrk->busyobj->do_stream && l > cache_param->stream_maxchunksize)
+ l = cache_param->stream_maxchunksize;
st = STV_alloc(wrk, l);
if (st == NULL) {
(void)FetchError(wrk, "Could not get storage");
diff --git a/bin/varnishd/common/params.h b/bin/varnishd/common/params.h
index 6c1899a..f0445ae 100644
--- a/bin/varnishd/common/params.h
+++ b/bin/varnishd/common/params.h
@@ -98,6 +98,7 @@ struct params {
/* Fetcher hints */
ssize_t fetch_chunksize;
ssize_t fetch_maxchunksize;
+ ssize_t stream_maxchunksize;
unsigned nuke_limit;

#ifdef SENDFILE_WORKS
diff --git a/bin/varnishd/mgt/mgt_param.c b/bin/varnishd/mgt/mgt_param.c
index c984aae..227ea3a 100644
--- a/bin/varnishd/mgt/mgt_param.c
+++ b/bin/varnishd/mgt/mgt_param.c
@@ -837,6 +837,15 @@ static const struct parspec input_parspec[] = {
"fragmentation.\n",
EXPERIMENTAL,
"256m", "bytes" },
+ { "stream_maxchunksize",
+ tweak_bytes_u,
+ &mgt_param.stream_maxchunksize, 4 * 1024, UINT_MAX,
+ "The maximum chunksize we attempt to allocate from storage "
+ "when streaming. This also defines the intervals at which "
+ "the streaming clients receive notifications about new "
+ "data available.\n",
+ EXPERIMENTAL,
+ "256k", "bytes" },
#ifdef SENDFILE_WORKS
{ "sendfile_threshold",
tweak_bytes, &mgt_param.sendfile_threshold, 0, HUGE_VAL,
--
1.7.4.1


_______________________________________________
varnish-dev mailing list
varnish-dev [at] varnish-cache
https://www.varnish-cache.org/lists/mailman/listinfo/varnish-dev

Varnish dev RSS feed   Index | Next | Previous | View Threaded
 
 


Interested in having your list archived? Contact Gossamer Threads
 
  Web Applications & Managed Hosting Powered by Gossamer Threads Inc.