[squid-users] Range header is a hit ratio killer

k simon chio1990 at gmail.com
Sat Aug 6 09:56:29 UTC 2016


Hi,list,
   Code 206 is the most pain for our forwed proxy. Squid use 
“range_offset_limit” to process byte-range request. when set it "none", 
it has 2 wellknown issue:
1.  boost the traffic on the server side, we observed it's amplified 
500% compared to clients side on our box.
2.  it's always failed on a lossy link, and squid refetched it again and 
again.
   I've noticed that nginx have supported "byte-range cacheing" since 
1.9.8  by Module ngx_http_slice_module officially.
(1. 
http://nginx.org/en/docs/http/ngx_http_slice_module.html?_ga=1.140845234.106894549.1470474534
2. https://www.nginx.com/resources/admin-guide/content-caching/  ).
   The solution is not perfect, but it's really more usable than 
"range_offset_limit". The secret it's use a fixed size object replaced 
the whole file, and we can alter the request range offset and passed it 
to server; perhaps forward the origin range offset and cache a part of 
the object with a range key is a better idea. And squid should know how 
to make up those object and process the request with range header.
   And with a fixed size object to cache it may benefits to disk IO. 
Sounds it's similar like big-rock db concept, though I've not got 
successed with rock on FreeBSD nor ubuntu box.
   Does squid has some plan to support this method or have another solution?



Regards
Simon


More information about the squid-users mailing list