Plone's feature-richness makes it heavy on the CPU. To reach our targets for real-world performance, we add a few layers that remember the computed renderings of pages and avoid redoing all the work each time. This approach is managed by two layers:
1. Squid, which works as a caching HTTP reverse proxy, remembering the contents of rendered pages, images, and files for as long as their HTTP headers advise (or until explicitly told to stop)
2. CacheFu, an in-Plone tool that sets those headers according to a complex set of rules
Caching is often a balancing act between speed and staleness: how long can you afford to serve a page that may be out of date? CacheFu ships with very conservative settings, which yield no staleness and give about a 400% speed boost, measured by requests per second on an unauthenticated front page. These stock settings neither assume nor take advantage of a caching proxy like Squid. Our first task is to correct this. We'll move...