You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@trafficserver.apache.org by Zachary Miller <za...@gmail.com> on 2010/04/07 00:50:52 UTC

Cache Behavior: not caching all responses

Hi,

I am having some trouble getting Traffic Server to cache all of the content
that it encounters.  For instance, when I inspect the cache none of the
following URLs appear:


1270592980.711 398 192.168.215.92 TCP_MISS/200 19711 GET
http://www.dickssportinggoods.com/product/index.jsp?productId=2805051 -
DIRECT/www.dickssportinggoods.com text/html -
1270592980.876 323 192.168.215.92 TCP_MISS/200 19458 GET
http://www.dickssportinggoods.com/product/index.jsp?productId=2805083 -
DIRECT/www.dickssportinggoods.com text/html -
1270592981.051 388 192.168.215.92 TCP_MISS/200 19811 GET
http://www.dickssportinggoods.com/product/index.jsp?productId=3801787 -
DIRECT/www.dickssportinggoods.com text/html -


There are thousands more like that (and this is after I have already run
through all of these URLs previously), and none of them have been cached (or
at least none of them appear when searched for), even though they are
definitely running through Traffic Server (the above URLs come directly from
squid.log).  JavaScript and other types of content are being served (ex:
http://www.dickssportinggoods.com/foresee/foresee-alive.js<http://ts.cache/lookup_regex?url=http%3A%2F%2Fwww.*#>),
but not the text and html documents.

I have the records.config setting 'CONFIG
proxy.config.http.cache.cache_urls_that_look_dynamic INT 1' set.

I'm suspecting that I'm missing something very obvious in the configuration,
and attached is my records.config.

I would really appreciate the help and am nearly at wits end on this.

Thanks so much in advance,

Zachary

Re: Cache Behavior: not caching all responses

Posted by Zachary Miller <za...@gmail.com>.
Thanks a lot, Eric.

This was immensely helpful.  It looks like my problem was the lack of
cache-control headers on most of the pages I was testing.  I changed the
'proxy.config.http.cache.required_headers' to zero and I'm caching
everything now.

Thanks again,

Zach

On Tue, Apr 6, 2010 at 4:20 PM, Eric Balsa <er...@apache.org> wrote:

> Hi Zachary,
>
> The headers returned by that server are below.
>
> I am not sure if TS honors the no-cache="set-cookie" bit but
> Pragma:no-cache is probably troublesome.
>
> Run ATS like this:
>
> /path/to/trafficserver -T "http_trans" and issue a single request for
> this content, something like:
>
> curl -D- -x localhost:8088
> http://www.dickssportinggoods.com/product/index.jsp?productId=2805051
>
> The debugging output from TS should provide some information as to why
> the content is not being cached; specifically a debug line like:
>
> [Apr  6 17:14:34.255] Server {140735072537568} DEBUG: (http_trans)
> [is_response_cacheable] server does not permit storing and config file
> does not indicate that server directive should be ignored
>
> --Eric
>
> HTTP/1.1 200 OK
> Date: Tue, 06 Apr 2010 23:00:42 GMT
> Server: Apache/2.0.63 (Unix)
> Cache-Control: no-cache="set-cookie"
> Pragma: no-cache
> P3P: CP="PHY ONL CAO CURa ADMa DEVa TAIa PSAa PSDa IVAo IVDo CONo HISa
> TELo OTPo OUR DELa STP BUS UNI COM NAV INT DEM
> OTC",policyref="/w3c/p3p.xml"
> Set-Cookie:
> JSESSIONID=mzLQL79h1SwMzbsq4m5zFPy81n4mGnJTfCkGjNYvryDPPCGSYWzL!1750437349;
> path=/
> Set-Cookie: browser_id=93564493173; expires=Friday, 03-Apr-2020
> 23:00:42 GMT; path=/
> Set-Cookie: browser_id=93564493173; expires=Friday, 03-Apr-2020
> 23:00:42 GMT; path=/
> Set-Cookie: browser_id=93564493173; expires=Friday, 03-Apr-2020
> 23:00:42 GMT; path=/
> Set-Cookie: rvdata=XR78594654105c421a0f4f1a175b0a0a0304;
> expires=Monday, 25-Apr-2078 02:14:49 GMT; path=/
> Set-Cookie: browser_id=93564493173; expires=Friday, 03-Apr-2020
> 23:00:42 GMT; path=/
> Set-Cookie: browser_id=93564493173; expires=Friday, 03-Apr-2020
> 23:00:42 GMT; path=/
> X-Powered-By: Servlet/2.5 JSP/2.1
> Vary: Accept-Encoding
> X-UA-Compatible: IE=EmulateIE7
> Connection: close
> Transfer-Encoding: chunked
> Content-Type: text/html; charset=ISO-8859-1
>
> On Tue, Apr 6, 2010 at 4:50 PM, Zachary Miller <za...@gmail.com>
> wrote:
> > Hi,
> > I am having some trouble getting Traffic Server to cache all of the
> content
> > that it encounters.  For instance, when I inspect the cache none of the
> > following URLs appear:
> >
> > 1270592980.711 398 192.168.215.92 TCP_MISS/200 19711 GET
> > http://www.dickssportinggoods.com/product/index.jsp?productId=2805051 -
> > DIRECT/www.dickssportinggoods.com text/html -
> > 1270592980.876 323 192.168.215.92 TCP_MISS/200 19458 GET
> > http://www.dickssportinggoods.com/product/index.jsp?productId=2805083 -
> > DIRECT/www.dickssportinggoods.com text/html -
> > 1270592981.051 388 192.168.215.92 TCP_MISS/200 19811 GET
> > http://www.dickssportinggoods.com/product/index.jsp?productId=3801787 -
> > DIRECT/www.dickssportinggoods.com text/html -
> >
> > There are thousands more like that (and this is after I have already run
> > through all of these URLs previously), and none of them have been cached
> (or
> > at least none of them appear when searched for), even though they are
> > definitely running through Traffic Server (the above URLs come directly
> from
> > squid.log).  JavaScript and other types of content are being served
> > (ex: http://www.dickssportinggoods.com/foresee/foresee-alive.js), but
> not
> > the text and html documents.
> > I have the records.config setting 'CONFIG
> > proxy.config.http.cache.cache_urls_that_look_dynamic INT 1' set.
> > I'm suspecting that I'm missing something very obvious in the
> configuration,
> > and attached is my records.config.
> > I would really appreciate the help and am nearly at wits end on this.
> > Thanks so much in advance,
> > Zachary
> >
> >
>

Re: Cache Behavior: not caching all responses

Posted by Eric Balsa <er...@apache.org>.
Hi Zachary,

The headers returned by that server are below.

I am not sure if TS honors the no-cache="set-cookie" bit but
Pragma:no-cache is probably troublesome.

Run ATS like this:

/path/to/trafficserver -T "http_trans" and issue a single request for
this content, something like:

curl -D- -x localhost:8088
http://www.dickssportinggoods.com/product/index.jsp?productId=2805051

The debugging output from TS should provide some information as to why
the content is not being cached; specifically a debug line like:

[Apr  6 17:14:34.255] Server {140735072537568} DEBUG: (http_trans)
[is_response_cacheable] server does not permit storing and config file
does not indicate that server directive should be ignored

--Eric

HTTP/1.1 200 OK
Date: Tue, 06 Apr 2010 23:00:42 GMT
Server: Apache/2.0.63 (Unix)
Cache-Control: no-cache="set-cookie"
Pragma: no-cache
P3P: CP="PHY ONL CAO CURa ADMa DEVa TAIa PSAa PSDa IVAo IVDo CONo HISa
TELo OTPo OUR DELa STP BUS UNI COM NAV INT DEM
OTC",policyref="/w3c/p3p.xml"
Set-Cookie: JSESSIONID=mzLQL79h1SwMzbsq4m5zFPy81n4mGnJTfCkGjNYvryDPPCGSYWzL!1750437349;
path=/
Set-Cookie: browser_id=93564493173; expires=Friday, 03-Apr-2020
23:00:42 GMT; path=/
Set-Cookie: browser_id=93564493173; expires=Friday, 03-Apr-2020
23:00:42 GMT; path=/
Set-Cookie: browser_id=93564493173; expires=Friday, 03-Apr-2020
23:00:42 GMT; path=/
Set-Cookie: rvdata=XR78594654105c421a0f4f1a175b0a0a0304;
expires=Monday, 25-Apr-2078 02:14:49 GMT; path=/
Set-Cookie: browser_id=93564493173; expires=Friday, 03-Apr-2020
23:00:42 GMT; path=/
Set-Cookie: browser_id=93564493173; expires=Friday, 03-Apr-2020
23:00:42 GMT; path=/
X-Powered-By: Servlet/2.5 JSP/2.1
Vary: Accept-Encoding
X-UA-Compatible: IE=EmulateIE7
Connection: close
Transfer-Encoding: chunked
Content-Type: text/html; charset=ISO-8859-1

On Tue, Apr 6, 2010 at 4:50 PM, Zachary Miller <za...@gmail.com> wrote:
> Hi,
> I am having some trouble getting Traffic Server to cache all of the content
> that it encounters.  For instance, when I inspect the cache none of the
> following URLs appear:
>
> 1270592980.711 398 192.168.215.92 TCP_MISS/200 19711 GET
> http://www.dickssportinggoods.com/product/index.jsp?productId=2805051 -
> DIRECT/www.dickssportinggoods.com text/html -
> 1270592980.876 323 192.168.215.92 TCP_MISS/200 19458 GET
> http://www.dickssportinggoods.com/product/index.jsp?productId=2805083 -
> DIRECT/www.dickssportinggoods.com text/html -
> 1270592981.051 388 192.168.215.92 TCP_MISS/200 19811 GET
> http://www.dickssportinggoods.com/product/index.jsp?productId=3801787 -
> DIRECT/www.dickssportinggoods.com text/html -
>
> There are thousands more like that (and this is after I have already run
> through all of these URLs previously), and none of them have been cached (or
> at least none of them appear when searched for), even though they are
> definitely running through Traffic Server (the above URLs come directly from
> squid.log).  JavaScript and other types of content are being served
> (ex: http://www.dickssportinggoods.com/foresee/foresee-alive.js), but not
> the text and html documents.
> I have the records.config setting 'CONFIG
> proxy.config.http.cache.cache_urls_that_look_dynamic INT 1' set.
> I'm suspecting that I'm missing something very obvious in the configuration,
> and attached is my records.config.
> I would really appreciate the help and am nearly at wits end on this.
> Thanks so much in advance,
> Zachary
>
>