[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