Thanks Leif!

These comments were really helpful.

We've upgraded to version 10 and tweaked the dir entry memory to 32KB.

1.8TB cache disk, partitioned into 5 cache volumes
8KB min_average_object_size: memory util 2.9GB
32KB min_average_object_size: memory util 665.2m
1800GB_32KB:"proxy.process.cache.volume_1.direntries.total": "12491400",
1800GB_8KB:"proxy.process.cache.volume_1.direntries.total": "49872896",

Woot woot!  Awesome.  Significant memory saved for our workload.

stale-while-revalidate is also a huge win!

On Sat, Apr 20, 2024 at 12:12 PM Leif Hedstrom <apachezw...@gmail.com>
wrote:

>
>
> On Apr 19, 2024, at 21:42, dave seddon <dave.seddon...@gmail.com> wrote:
>
> 
> Thanks Brian! Very cool
>
> I don't know if you're supposed to retroactively update release notes, but
> that's a pretty big feature not in the notes.
>
>
> https://docs.trafficserver.apache.org/en/10.0.x/release-notes/upgrading.en.html
>
>
> Yeh the release notes for 10.x are not done yet.
>
> Stale-while-revaldate feature was a major challenge for some of our use
> cases, so it's awesome to hear that is resolved. Congratulations and thank
> you!
>
> A potentially larger challenge is memory footprint. Generally, for Yahoo,
> Apple, Comcast CDNs, and all you guys all have beefy machines with plenty
> of RAM, so this isn't a drama. In those scenarios ATS is an amazing
> solution! Woot woot. Love it!
>
> There are more unique situations, home caching for example, where you want
> large amounts of cache storage, but much lower in memory indexes to that
> storage.
>
> I'm not suggesting ATS needs to solve is, but, for the sake of the mailing
> list history, people need to keep in mind.
>
> Specifically, and unless I'm mistaken, RAM consumption is directly linear
> with the available cache size, regardless of the "working set".
>
> E.g. If you have a large storage you need a (relatively) large amount of
> RAM to index into that storage, even if most of the storage is not accessed.
>
>
> Well, yes. However it’s 10x less memory than e.g. squid for the same disk
> cache size :). The cost is 10 bytes of memory per directory entry (index).
>
> Now, you can, and should, tune the number of directory entries to your
> data set. The default is pretty conservative, one dir entry for every 8KB
> of disk cache. If your average object size is noticeably larger than this
> (very likely), you can reduce memory usage accordingly. So setting this
> configuration to 16KB would reduce memory use in half, 32KB is 1/4 memory
> etc.
>
> Cheers,
>
> — Leif
>
>
> Again, this is a totally understandable engineering decision, and makes
> sense in most situations.
>
> On Fri, Apr 19, 2024, 14:02 Brian Neradt <brian.ner...@gmail.com> wrote:
>
>> If I understand correctly, ATS does NOT support stale while revalidate,
>>> which is surprising given the RFC was created by a Yahoo-ligan. ;)
>>>
>>
>> I'm glad you mentioned this. Actually Yahoo open-sourced the
>> functionality for stale while revalidate via the stale_response.so plugin
>> for ATS 10:
>>
>>
>> https://docs.trafficserver.apache.org/en/latest/admin-guide/plugins/stale_response.en.html#stale-response-plugin
>>
>> On Fri, Apr 19, 2024 at 3:38 PM dave seddon <dave.seddon...@gmail.com>
>> wrote:
>>
>>> Depending on your use case, you also want to carefully consider the
>>> cache control headers for the downloaded object.
>>>
>>> If I understand correctly, ATS does NOT support stale while revalidate,
>>> which is surprising given the RFC was created by a Yahoo-ligan. ;)
>>>
>>> On Fri, Apr 19, 2024 at 9:51 AM Leif Hedstrom <zw...@apache.org> wrote:
>>>
>>>> We discussed this in the slack channel. Probably the best option for
>>>> you (other than writing a new plugin) is to use the background_fetch
>>>> plugin. You will still need to trigger a download, but you can avoid having
>>>> to wait for the full response in the client. So, what you’d do is
>>>>
>>>>      curl -H “Range: bytes=0-1”
>>>> https://www.example.com/some/url/foo.img
>>>>
>>>>
>>>> And make sure background_fetch is enabled on this remap rule. No matter
>>>> what you do, you will have to have something that tells ATS to kick off a
>>>> download, and the above is probably as good as any alternative.
>>>>
>>>> Cheers,
>>>>
>>>> — Leif
>>>>
>>>>
>>>> On Apr 17, 2024, at 9:33 AM, Pavel Vazharov <pa...@x3me.net> wrote:
>>>>
>>>> Hi Brian,
>>>>
>>>> Thank you for your response.
>>>> It'll do the job but, as far as I understand it, an external
>>>> functionality will need to download the content in order to push it into
>>>> the ATS.
>>>> The content that I want to write in the ATS storage is on the Internet.
>>>>
>>>> Regards,
>>>> Pavel.
>>>>
>>>> On Wed, Apr 17, 2024 at 6:26 PM Brian Neradt <brian.ner...@gmail.com>
>>>> wrote:
>>>>
>>>>> Hi Pavel,
>>>>>
>>>>> This isn't a direct answer to your question, but are you aware of the
>>>>> ATS HTTP PUSH feature? That allows you to push objects into the ATS cache
>>>>> without the typical caching of proxied response. Can that help you in this
>>>>> situation?
>>>>>
>>>>>
>>>>> https://docs.trafficserver.apache.org/en/latest/admin-guide/configuration/cache-basics.en.html#pushing-content-into-the-cache
>>>>>
>>>>>
>>>>> On Wed, Apr 17, 2024 at 8:41 AM Pavel Vazharov <pa...@x3me.net> wrote:
>>>>>
>>>>>> Hi there,
>>>>>>
>>>>>> Is there a way to use the ATS as an HTTP client to download and store
>>>>>> given content?
>>>>>> I'm aware that I can achieve this with a local HTTP client (wget,
>>>>>> curl) which uses the ATS as a forward proxy and then the ATS will store 
>>>>>> the
>>>>>> content (which is the actual goal).
>>>>>> I was wondering if there is a way without using an additional HTTP
>>>>>> client so that I can skip the additional content moving between sockets.
>>>>>>
>>>>>> Thanks,
>>>>>> Pavel.
>>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> "Come to Me, all who are weary and heavy-laden, and I will
>>>>> give you rest. Take My yoke upon you and learn from Me, for
>>>>> I am gentle and humble in heart, and you will find rest for
>>>>> your souls. For My yoke is easy and My burden is light."
>>>>>
>>>>>     ~ Matthew 11:28-30
>>>>>
>>>>
>>>>
>>>
>>> --
>>> Regards,
>>> Dave Seddon
>>> +1 415 857 5102
>>>
>>
>>
>> --
>> "Come to Me, all who are weary and heavy-laden, and I will
>> give you rest. Take My yoke upon you and learn from Me, for
>> I am gentle and humble in heart, and you will find rest for
>> your souls. For My yoke is easy and My burden is light."
>>
>>     ~ Matthew 11:28-30
>>
>

-- 
Regards,
Dave Seddon
+1 415 857 5102

Reply via email to