By dayofthedave on
I'm currently using APC and Memcache, which both work fine, but it sounds like I could improve performance even more by adding Varnish and/or Boost to the mix. So now I'm wondering which of these (and other similar) products play well with each other and which don't? And how does Drupal's own internal cache fit in? At some point, is it OK or even advisable to disable it and let the other tools do all the work?
Comments
There are several blog posts
There are several blog posts addressing these questions, in particular on the Lullabot site. At the end of the day a well-set up server is like a suit, if you want a good one it should be individually tailored.
You also have to consider what you are caching. So rather than just picking a few caching technologies and throwing them together, best think things through. Given the various blog posts out there which do it better than I can, I do not really want to write a tutorial now on caching. A good start would be http://www.lullabot.com/articles/beginners-guide-caching-data-drupal-7
To which you can add that the primary job of Varnish (but not the only one) would be to take a copy of the page already assembled and (for anonymous users) send that, provided it is fresh, so that Drupal does not need to assemble the page. In principle this is also what Boost does. The logic of also using Boost if you can have Varnish would be for an edge case.
Hope that helps get you started. There is plenty more which could be said of course, with best setup depending on the type of site, as well as the volume and type of traffic.
But if you are serving mainly anoymous users, and if you are running your own server, it would be pointless NOT to install Varnish and make sure it is properly configured for Drupal. OTH if your server is not too busy, and is working well, it might not be worth the trouble (though IF it is set up well there are no real downsides).
For possible downsides of APC, and a lot of other stuff about server setup, read all the blog posts on 2bits.com. For general advice see the 'Make Drupal Perform Like a Rock Star' video from DrupalCon London.
For setting up the server you also need to pay attention to setting up mysql's built in caching (though you can cause more problems than you solve here). Don't ask me for a tutorial!
And at every stage, if you doing it properly, test every option. If you are not using apache bench, at least, which is a fairly basic benchmarking tool, google that, and try it out. Often it is already on a Linux server, but easy enough to get if you do not have it. And Devel module for seeing page generation times.
To know more about the future google Drupal 8 ESI (there are ESI integration solutions for D6 and D7).
Once you have worked through all that stuff, where I can really only give you pointers about where to look rather than giving all the answers, you will be an expert! Let us know your test results.
Digit Professionals specialising in Drupal, WordPress & CiviCRM support for publishers in non-profit and related sectors