trafficserver-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Veiko Kukk <veiko.k...@gmail.com>
Subject Re: Avoiding TCP_REFRESH_HIT
Date Thu, 23 Nov 2017 17:26:23 GMT
Now to think about it, i might have set dest_domain to wrong value.
Documentation is not that clear on that. If there are x.y.z.tld and
a.b.z.tld then what have to be written to dest_domain to capture both of
those?
dest_domain=z.tld
or
dest_domain=*.*.z.tld

Or someting else?

Veiko


2017-11-23 19:20 GMT+02:00 Veiko Kukk <veiko.kukk@gmail.com>:

> Hi Alan,
>
> That is what i had already done in cache.config:
> dest_domain=.*.source.tld ttl-in-cache=9999d
>
> Of cource, source.tld is actually real domain, and this did not avoid
> checking origin for object freshness, it was still considered stale by ATS.
>
> https://docs.trafficserver.apache.org/en/7.1.x/admin-
> guide/configuration/cache-basics.en.html#ensuring-cached-object-freshness
> describes that if Expires is present, it is used to calculate objects
> freshness. And there is no way to ignore it. I've configured now ATS to
> remove Expires header and set Cache-control: max-age=157784630 with header
> rewrite plugin and cond %{READ_RESPONSE_HDR_HOOK}
> Will see it that helps.
>
> Veiko
>
>
> 2017-11-23 18:38 GMT+02:00 Alan Carroll <solidwallofcode@oath.com>:
>
>> You might try fiddling with the 'cache.config' file and set a cache TTL
>> of 10 years or so.
>>
>> On Thu, Nov 23, 2017 at 10:11 AM, Veiko Kukk <veiko.kukk@gmail.com>
>> wrote:
>>
>>> Hi David,
>>>
>>> Objects are not fetched from ATS via browser. ATS is just internal
>>> cache. Only problem is to trick ATS into believing that object is always
>>> fresh, never stale.
>>> I wonder if modifying headers before ATS (READ_RESPONSE_HDR_HOOK)
>>> removing or changing Expires and/or adding max-age to some very big value
>>> might be right way to go for me.
>>>
>>> Veiko
>>>
>>>
>>> 2017-11-23 17:52 GMT+02:00 David Carlin <dcarlin@oath.com>:
>>>
>>>> Have you considered adding "Cache-Control: Immutable" to these objects
>>>> which will never require re-validation?  This will prevent the browser from
>>>> attempting an If-Modified-Since request.
>>>>
>>>> https://hacks.mozilla.org/2017/01/using-immutable-caching-to
>>>> -speed-up-the-web/
>>>>
>>>> David
>>>>
>>>> On Thu, Nov 23, 2017 at 10:07 AM, Veiko Kukk <veiko.kukk@gmail.com>
>>>> wrote:
>>>>
>>>>> In addition to my previous e-mail, headers that are provided by source
>>>>> to ATS:
>>>>>
>>>>> < HTTP/1.1 200 OK
>>>>> < Content-Length: 1185954
>>>>> < Accept-Ranges: bytes
>>>>> < Last-Modified: Mon, 02 Nov 2015 17:56:12 GMT
>>>>> < Etag: 92ef40097ba87bdf09efcf7e1cefd32a
>>>>> < X-Timestamp: 1446486971.39466
>>>>> < Content-Type: application/octet-stream
>>>>> < Content-Disposition: attachment; filename="ABIYohNyPrJNjvFsAdgN5wc8D-8Yo4ZO.m4s";
>>>>> filename*=UTF-8''ABIYohNyPrJNjvFsAdgN5wc8D-8Yo4ZO.m4s
>>>>> < Expires: Thu, 23 Nov 2017 15:27:30 GMT
>>>>> < X-Trans-Id: tx3a0af5473d5c41d38195c-005a16e30d
>>>>> < X-Openstack-Request-Id: tx3a0af5473d5c41d38195c-005a16e30d
>>>>> < Date: Thu, 23 Nov 2017 15:02:37 GMT
>>>>> < X-IPLB-Instance: 12631
>>>>>
>>>>> I assume, Expires header is here to blame and must be overriden in ATS
>>>>> config, but how? I don't have control over source, its Openstack Swift
>>>>> object storage.
>>>>>
>>>>> Veiko
>>>>>
>>>>>
>>>>> 2017-11-23 16:35 GMT+02:00 Veiko Kukk <veiko.kukk@gmail.com>:
>>>>>
>>>>>> Hi,
>>>>>>
>>>>>> Could ATS in reverse proxy mode be configured such way that it would
>>>>>> never try to revalidate from source? It is known that in our case,
object
>>>>>> never changes (and is never refetched from source) and it is desirable
to
>>>>>> avoid any source validation. Validation verification adds significant
>>>>>> overhead and we need to avoid it. Response to client with TCP_REFRESH_HIT
>>>>>> would take 100-200ms instead of 0-10 in case of direct local TCP_HIT.
>>>>>>
>>>>>> I've configured following:
>>>>>> dest_domain=.*.source.tld action=ignore-no-cache
>>>>>> dest_domain=.*.source.tld revalidate=9999d
>>>>>> dest_domain=.*.source.tld ttl-in-cache=9999d
>>>>>>
>>>>>> CONFIG proxy.config.http.cache.when_to_revalidate INT 3
>>>>>> CONFIG proxy.config.http.cache.required_headers INT 0
>>>>>>
>>>>>> But i still get TCP_REFRESH_HIT even when 9999 days have not passed
>>>>>> (obviously).
>>>>>>
>>>>>> NB! ATS is used as internal cache and our 'client' never explicitly
>>>>>> requests revalidation.
>>>>>>
>>>>>> Thanks,
>>>>>> Veiko
>>>>>>
>>>>>>
>>>>>
>>>>
>>>
>>
>

Mime
View raw message