[Varnish] #1506: Make better use of Content-Length information: Avoid chunked responses, more control over Range handling

Varnish varnish-bugs at varnish-cache.org
Mon May 19 18:14:28 CEST 2014


#1506: Make better use of Content-Length information: Avoid chunked responses,
more control over Range handling
--------------------------+----------------------------------
 Reporter:  DonMacAskill  |       Owner:  slink
     Type:  defect        |      Status:  assigned
 Priority:  normal        |   Milestone:  Varnish 4.0 release
Component:  varnishd      |     Version:  4.0.0
 Severity:  critical      |  Resolution:
 Keywords:                |
--------------------------+----------------------------------

Comment (by DonMacAskill):

 So all of the cases I've encountered so far are Flash video players
 attempting to do multi-bitrate adaptive streaming.  In those cases, the UA
 typically appears as if it's the browser, so I don't think there's any
 obvious way to detect and react.

 Some example players which I've confirmed exhibit this problem:

 Akamai HDS test player:
 http://mediapm.edgesuite.net/edgeflash/public/zeri/debug/Main.html

 Akamai OSMF test player: http://mediapm.edgesuite.net/akamai-osmf-
 plugins/samples/flash-builder-4/AASPlugin-sample-flex/bin-debug/Main.html

 Flowplayer: https://flowplayer.org/

 There are probably more, but so far these are the only ones we've
 confirmed.  All three of these players have large amounts of sites
 deployed at scale (all Flash video streaming on Akamai's network uses one
 of those two, for example, and I believe Flowplayer is the most popular
 3rd party video player).

 Here's an F4M manifest link that doesn't pass through varnish: http
 ://photos-origin.smugmug.net/1234/Video-Tests-
 Dec-2013/Exploratorium-2012/i-gSNfWFW/0/SMIL/gSNfWFW.smil/manifest.f4m

 If you drop that into any of the above players, you'll see adaptive
 bitrate streaming.  If you front it with varnish, you'll see that it never
 adapts.  (Content-Length vs Transfer-Encoding being the thing that
 switches it on/off, presumably since these libraries are using the segment
 transfer time compared against Content-Length to generate bitrate guesses)

 I'll see if I can get a publicly available Flowplayer URL up as well,
 currently our only Flowplayer testbed isn't publicly accessible.  But the
 Akamai test players should work well.

-- 
Ticket URL: <https://www.varnish-cache.org/trac/ticket/1506#comment:5>
Varnish <https://varnish-cache.org/>
The Varnish HTTP Accelerator



More information about the varnish-bugs mailing list