Fastcgi_cache replication?

Hello,

We are successfully using fastcgi_cache on our PHP application. We
currently have 5 servers in the farm, which means it currently takes 5x
as long to build up the cache after each purge/timeout.

Is there anyway to share the cache index/files across servers? I have
not tried rsync’ing the cache folders between machines but doubt that
would work, since the files would not exist in the index.

Separately, two lessons we learned.

  1. PHP files that contain a redirect with header(“Location: new-url”)
    and immediately exited will not redirect properly when served from the
    cache, due to PHP appending a Content-type. If print some text between
    the header and exit it works fine.

Does not work:
^A^F^@^A^@?^D^@Status: 301 Moved Permanently^M
Location:
http://store.smartphoneexperts.com/motorola-s9-hd-bluetooth-stereo-headphones/9A115A4142.htm?d=1152^M
Content-type: text/html

Works:
KEY:
httpwww.n95depot.com/motorola-s9-hd-bluetooth-stereo-headphones/9A115A4142.htm
^A^F^@^A^@?^D^@Status: 301 Moved Permanently^M
Location:
http://store.smartphoneexperts.com/motorola-s9-hd-bluetooth-stereo-headphones/9A115A4142.htm?d=1152^M
Content-type: text/html^M
^M
Redirecting

  1. fastcgi_cache will sometimes cache “blank” pages, likely due to our
    backend acting up. We implemented a cronscript that runs every minute
    and purges cache files < 512 byes that are not redirects.

Posted at Nginx Forum:

Hello!

On Fri, Nov 05, 2010 at 12:49:52AM -0400, marcusadolfsson wrote:

[…]

Works:
KEY:
httpwww.n95depot.com/motorola-s9-hd-bluetooth-stereo-headphones/9A115A4142.htm
^A^F^@^A^@?^D^@Status: 301 Moved Permanently^M
Location:

http://store.smartphoneexperts.com/motorola-s9-hd-bluetooth-stereo-headphones/9A115A4142.htm?d=1152^M

Content-type: text/html^M
^M
Redirecting

Looks like known problem with caching of 0-sized responses, see
here for more info and patches:

http://nginx.org/pipermail/nginx-devel/2010-January/000100.html

Maxim D.

Hello!

On Fri, Nov 05, 2010 at 01:21:55PM +0100, Dennis J. wrote:

the header and exit it works fine.
^A^F^@^A^@?^D^@Status: 301 Moved Permanently^M

The messages referenced in there are almost a year old. Haven’t
these patches been included in the main source since then?

No.

Maxim D.

On 11/05/2010 12:17 PM, Maxim D. wrote:

Location:

http://store.smartphoneexperts.com/motorola-s9-hd-bluetooth-stereo-headphones/9A115A4142.htm?d=1152^M

Content-type: text/html^M
^M
Redirecting

Looks like known problem with caching of 0-sized responses, see
here for more info and patches:

[PATCH 0 of 2] cache fixes for empty and stale responses

The messages referenced in there are almost a year old. Haven’t these
patches been included in the main source since then?

Regards
Dennis