httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Bill Stoddard" <>
Subject RE: disk caching patches now tested
Date Sat, 17 Aug 2002 02:32:22 GMT
If no beats me to it, I'll review and commit your patches later this


> This documents tests and provides a test harnes for patches given in
> Messge-ID: <>.
> Using my good buddies patchPanel and xterm, I tested the disk caching
> with regards to observing the Vary header. The attached tarball is
> intended to be expanded in the directory containing httpd-2.0/.
> If all goes oddly well, you should be able to
>   make -f diskCache/Makefile
> and go take a leak. When you come back, you should have three xterms
>   proxy server
>   manual server
>   manual client
> Anything you type into manual client will go to proxy server and be
> relayed to a newly running apache proxy server running on port 9003.
> The proxy server will relay its requests on to whatever is specified
> in the GET and HOST lines. The sample request sends the requests on
> to the manual server where you will have to provide the response.
> You can GET stuff from a real server, but this gives you a bit more
> control.
> You enter a forest of xterms, each with a different title. The one
> labeld "connected 3 9004" should have
>   connected 3 to 9004
> in the top. Enter a '/' followed by the command
>   cat diskCache/proxyTest-request.http 1
> This will send a request to the proxy server which will relay it to
> the manual server. Now you have to play the role of manual server
> so you go to that window, enter a '/' and give the command
>   cat diskCache/proxyTest-response.http 2
> to give a response back to the proxy and client.
> The proxy should create the file
>   diskCache/ProxyServerRoot/proxy/4o/0q/Jx/@_IyiXLoI94OuiXg.header
> which holds the headers for the request and response.
> You can mark where you are in each patchPanel with
>   /echo virgin cache
> The proxy server should have seen
> GET http://localhost:9005/doc1 HTTP/1.1
> Host: localhost:9005
> Header1: Value1
> Header2: Value2
> HTTP/1.1 200 OK
> Date: Fri, 16 Aug 2002 21:12:14 GMT
> Server: Apache/2.0.41-dev (Unix)
> Content-Location: doc1.xhtml
> Vary: Header1,Header2
> Last-Modified: Mon, 05 Aug 2002 08:32:14 GMT
> ETag: "4301b8-102-c6d39f80;fb6d5700"
> Accept-Ranges: bytes
> Cache-Control: max-age=600000
> Expires: Fri, 16 Aug 2003 20:26:20 GMT
> Content-Type: text/plain
> Via: 1.1
> Content-Length: 14
> line 1
> line 2
> Entering the same request in (quickly, before you lose your the proxy
> server's attention) should result in the same reply, without touching
> the manual server. Changing one of the vary fields:
>   GET http://localhost:9005/doc1 HTTP/1.1
>   Host: localhost:9005
>   Header1: Value1
>   Header2: Value2b
> should result in the request going back to the manual server. Thus I
> declare the vary support a success.
> After you get tired of screwing around with this stuff
>   make -f diskCache/Makefile kill
> will kill off the proxy server and you can
>   /quit
> in each of the patchPanel windows.
> -There are a few code paths with conditional caching that I haven't
>  looked at.
> -It would be cool to retrieve the Vary headers for foo (by the current
>  mechanism), compute a new hash from the request values of those
>  headers, and look for a cached variant matching that request. This
>  could be done only when the first cache fails the varies tests. Then
>  it would only create work when would have had to fail anyways.
> -Add HTTP Extensions support to the cache validity calculation. I have
>  patches for this, but I'll wait 'till I've got fewer outstanding
>  patches (2 currently, typedefFuncs-20020816.patch and
>  diskCache-20020816.patch).
> Despite these todos, I believe it is a good idea to integrate this
> patches as disk caching doesn't really work now so they at least
> improve the situation.
> --
> -eric
> (
> Feel free to forward this message to any list for any purpose other than
> email address distribution.

View raw message