Varnish 5.x - Streaming + range request

Dridi Boukelmoune dridi at varni.sh
Mon Feb 5 07:45:32 UTC 2018


On Mon, Feb 5, 2018 at 8:29 AM, Prem Kumar <n.premkumar.me at gmail.com> wrote:
> Just  want to understand the behavior of varnish if range request while
> streaming of entire object in progress. lets say client1 fetches complete
> object  of size of 300 bytes (do_stream == true)  and client 2 is trying to
> fetch range request 100-200 bytes at the same time. the hash functions will
> match because we are using the same url+host for hashing. .How the clients
> will be served?.  Will wait for entire object to streamed or make it miss
> and fetch from origin ?. Would expect to deliver the object from origin
> instead of wait whole object may take time.

Varnish will only make range requests for pass transactions (unless
you force it in VCL) so in the case of a miss, either a complete fetch
is done or the client transactions attaches itself to an ongoing
fetch, and on the delivery side a partial response is delivered (I
think, as soon as the requested range is available in storage).

Dridi


More information about the varnish-misc mailing list