In my experience, there seems to be a lot of misunderstanding how Drupal caching works. I'm not talking about advanced caching mechanisms like Varnish, APC or memcache here, I'm talking about the core Drupal caching: page cache and block cache which are available in Drupal 7 core. Drupal 6 is similar but works a but differently because page caching was simplified for Drupal 7 (e.g. aggresive mode is now a available as a settings.php var) and the entire system also has become pluggable.
Everybody knows this screen and the settings. But what do they exactly mean? What difference do they actually make? What do they do? Here is an attempt to explain the settings at '/admin/config/development/performance'.

Page caching:
Block caching:
Minimum cache lifetime:
Expiration of cached pages:
If I'm wrong at any of these points - or am missing something, please let me know and I will update this page.
For further tips on performance improvements, check out the handbook pages on drupal.org, the high performance group or these performance related articles on this blog:
Also, check out chapter 30 of "The definitive guide to Drupal 7" for a complete layout of the enitire page load process in Drupal.
Photo credits: Question mark sign by Colin Kinner © 2008 shared under a Creative Common license.
This is the company blog of
Drupal specialist Merge.nl.
We are located in Tilburg (Netherlands) and build websites using Drupal. More about us.
Content on this blog is licensed under a Creative Commons Attribution-Noncommercial-Share Alike 3.0 Netherlands License.
