"If one user has relatively low traffic and low requirements for caching, we don’t want that user’s objects to be constantly evicted from cache by a high traffic, heavy cache load user’s traffic."
The only way to achieve this with ATS (at the moment, anyway), is to either pin the respective objects in cache or to partition the cache into volumes and assigning domains to those volumes as needed. This is exactly how we configure in production and this works well for our requirement to ensure certain kinds of objects (master playlists for HLS streaming to be specific) are not evicted by the more frequently accessed/retrieved objects of other kind (HLS media segments). We typically have enough storage space to be able to afford this sort of cache partitioning. Of course, while this *guarantees* cache space for those domains or objects, it does not work the way the original requirement in this email wanted. Fwiw, this is by design and afaik, would probably require significant revamp of ATS caching architecture to implement what is being asked (Leif, Alan - isn't that true?). See the section "Additional Notes' in the docs below for more details. https://docs.trafficserver.apache.org/en/6.0.x/arch/cache/cache-arch.en.html Thanks, Sudheer On Sunday, February 21, 2016, 3:46 PM, Oliver Goodman <[email protected]> wrote: I must disagree (assuming that I understand the issue under discussion here). We also have a use case in which a server may be shared between multiple users. If one user has relatively low traffic and low requirements for caching, we don’t want that user’s objects to be constantly evicted from cache by a high traffic, heavy cache load user’s traffic.What’s best for the server overall may not be best for this use case if it means that one user can effectively perform DOS on another. We’re not currently at the point of hosting multiple users, but if we do reach that point, I would think that the ability to limit cache usage by domain would be of interest to us. -Oliver > On 22 Feb 2016, at 5:35 AM, Muhammad Faisal <[email protected]> wrote: > > Since the storage is a reusable and a shared container where each cached > object is treated equally (Fairness), Reindl has a valid point it will add > overheads to the engine itself and no real life application in Caching point > of view. > -- > Thanks > F. > irc: zoot > > > > ------ Original Message ------ > From: "Reindl Harald" <[email protected]> > To: [email protected] > Sent: 2/20/2016 4:01:14 PM > Subject: Re: Limit the storage sizes for a domain or a set of domains > >> >> >> Am 20.02.2016 um 11:18 schrieb Hiroaki Nakamura: >>> Hi, thanks for your advice. >>> >>> I am thinking of a service that many users share one cache system. >>> To be fair between users, I would like to have some quotas on storage size. >> >> but that makes no sense at all, that's not a fileserver >> >> a proxy cache is transparent and self managed - it don't matter who is using >> what amount from the cache - the only interesting question is how many >> cache-hits you have and hence leave the server in peace with it's LRU >> decisions >> >>> 2016-02-19 18:58 GMT+09:00 Reindl Harald <[email protected]>: >>>> >>>> >>>> Am 19.02.2016 um 10:06 schrieb Hiroaki Nakamura: >>>>> >>>>> Is there a way to limit the storage size to be used for a domain or a >>>>> set of domains? >>>>> For example: >>>>> >>>>> - example1.com: 10GB >>>>> - example2.com: 20GB >>>>> - example3.com + example4.com: 30GB >>>>> ^ the total storage of example3.com and example4.com must be less >>>>> than or equal to 30GB >>>> >>>> >>>> most likely no and this sounds like premature optimizig for no gain other >>>> then produce overhead on more than one layer >>>> >>>> think again what this would need internally in ATS to work proper and what >>>> negative imapct would that overhead prodcue instead let LRU do it's job and >>>> leave it alone >> >
