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
2) 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.