trafficserver-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Reindl Harald <>
Subject Re: Rare HIT
Date Wed, 06 Nov 2013 13:52:42 GMT

Am 05.11.2013 16:34, schrieb Leif Hedstrom:
> On Nov 5, 2013, at 12:01 AM, Omid Kosari <> wrote:
>> I am trying to test ATS performance . In a normal test i checked several urls
>> with three browsers and looking in /var/log/trafficserver/squid.log .
>> for example i loaded following url one time with firefox , another time with
>> google chrome and another time with IE .
> A guess would be that you get hit by this:
> I just landed this on master, so give it a test. You would need to set the configs to
“2” for it to be safe. What I suspect happens in your case is that the various browsers
are differing on what they send for Accept-Language: or one of the other Accept-* headers.
> I’m thinking for v5.0.0, we want to make at least these three configurations the default:
> 	CONFIG proxy.config.http.cache.ignore_accept_language_mismatch INT 2
> 	CONFIG proxy.config.http.cache.ignore_accept_encoding_mismatch INT 2
> 	proxy.config.http.cache.ignore_accept_charset_mismatch INT 2
> There are use cases for both the “0” setting and the “1” setting, but the most
sane behavior IMO is the above. 
> But we can’t make this change in the v4.x release cycle, since it’s technically an
incompatible configuration change 
> (it does change the behavior)

i am not sure now if 2 is still supported and only the default will change
looking at the description and my explicit origin-config "2" will ineed
be the best option because i remove "Vary" explicit for static files and
for extensions which are handeled with mod_deflate after hat add a vary
for "Accept-Encoding"

currently the settings are at "1" here because "Cache-Control: public, proxy-revalidate"
and ETAG-headers on each dynamic page, but "2" would be perfect

* images are never gzip-compressed -> only one version needs to be cached
* static documents which may be compressed -> Vary on encdoing but not user-agent
* php-files -> Vary: Accept-Encoding,User-Agent because they may generate different content

I'm thinking we could turn the existing configuration options to trie-state configs:

0 - Client header is used / honored even in the absence of Vary: header from origin (this
is default behavior)
1 - Client header is never used when performing the default alternate selection.
2 - Client header is not used in alternate selection if there is no Vary: from origin specifying
to use it

# Properly handle requests behind proxies
<IfModule mod_headers.c>
 <FilesMatch "\.(php)$">
  Header append "Vary" "User-Agent"
  Header unset "Vary"
 <FilesMatch "\.(htm|html|xml|sgm|sgml|css|js|txt|htc|wav|doc|docx|xls|xlsx|ppt|pptx|pdf|eot|ttf|otf|woff)$">
  Header set "Vary" "Accept-Encoding"

View raw message