That’s cool Sudheer. Let me go through the code and understand if I can control 
the drawback (wasting bandwidth) based on resource URL. Say for apple update 
download it makes sense to download it completely so handheld devices are 
served well. Even resources containing pdf etc can be served similarly.

For streaming the resources to multiple clients, I can setup varnish to do it. 
For video links, again varnish should be OK, Losing videos on restarts should 
not be big issue as they have lesser cache hits unless they are viral ones.

Thanks a lot for your help and inputs.
Madhava

From: Sudheer Vinukonda [mailto:[email protected]]
Sent: Thursday, August 06, 2015 9:14 PM
To: Madhava Gaikwad (madgaikw); [email protected]
Subject: Re: partial object caching

Background 
Fetch<https://docs.trafficserver.apache.org/en/latest/reference/plugins/background_fetch.en.html>
 plugin takes care of that issue for you and won't allow more than one download 
for the same object (cache key) at a time. We use that in production (and I 
think/know a few other significant deployments do as well) and don't see any 
issues with fd exhaustion or multiple downloads for the same file.

The only drawback (if you can call it so) with the solution is that, you may 
potentially waste bandwidth/cache space for a really large object which may not 
be requested by clients often.

Thanks,

Sudheer



On Thursday, August 6, 2015 8:24 AM, Madhava Gaikwad (madgaikw) 
<[email protected]<mailto:[email protected]>> wrote:

Thanks Sudhir for the response. If too many clients starts doing range requests 
or even a single client starts sending multiple range requests, using 
background fetch, may cause multiple downloads to start, reason being downloads 
will not be sharable. Keeping rest of the client connection  idle till, first 
download completes also not useful as it may cause FD exhaustion for smaller 
footprint devices. I may be talking too much without knowing much about 
implementation details.

Thank you.
Madhava

From: Sudheer Vinukonda [mailto:[email protected]]
Sent: Thursday, August 06, 2015 8:36 PM
To: [email protected]<mailto:[email protected]>
Subject: Re: partial object caching

As of v6.0, ATS does not support Partial object caching (ala byte range 
caching).

However, ATS does support returning partial byte range responses if the whole 
object is already cached. Background 
Fetch<https://docs.trafficserver.apache.org/en/latest/reference/plugins/background_fetch.en.html>
 plugin takes advantage of this fact, by initiating a full object download in 
the background on receiving a byte range request for an object that's not in 
the cache yet. Once the full object is downloaded and populated into the cache, 
subsequent byte range requests are directly served from the cache.


Thanks,

Sudheer


On Thursday, August 6, 2015 12:34 AM, Madhava Gaikwad (madgaikw) 
<[email protected]<mailto:[email protected]>> wrote:

Hello experts,

I have legacy forward proxy used in enterprise network facing to internet 
behind firewall. Unfortunately it cannot do partial object caching. I am 
looking if I can get an alternate proxy to do this.
My requirement is:
1.       Partial object caching so updates by apple etc. can be cached. Also 
video caching will just work.
2.       Streaming to multiple client at same time should be possible from 
single server connection.

It seems varnish can do above stuff. But it works effectively as reverse proxy, 
so I have to position it before my proxy, as it cannot work as upstream proxy 
directly. Also its cache seems gets vanished after restart(Everything in cache 
is from heap).
Do you guys know if ATS can do this functionality? I believe it is not 
possible, but I thought just ask if we achieve this by any means. A pointing to 
how to would be really appreciated.


Thank you from Newbie,
Madhava


Reply via email to