We run our Drupal instances behind a Varnish server, but we're looking at alternative/additional ways to speed up the site. Boost is a module that is frequently named for this purpose; it appears to generate static versions of pages and serve those to avoid regeneration time, but—if we're already caching with varnish—does this give us any benefit?
No, with the correct configuration, Boost and Varnish can work together. The combination is said to speed up your site even more than just Boost or Varnish (I haven't tried it myself yet).
See Will Boost conflict with Varnish and Use Varnish for cache storage instead of file system. If you're visiting DrupalCon London, check out the Boosted Varnish talk.
Although the other answers are technically correct, I would agree with @mikeytown2 in stating that all you are doing by running boost together with varnish is adding (unnecessary) complexity to the caching on the site.
We used to run boost and varnish together on http://www.health.govt.nz/ but because varnish would cache the HTML pages that boost was making, all that boost ultimately added was additional files on the disk (certainly no extra performance).
Also there are benefits to running varnish standalone:
- Integration with expire and purge modules - this means you can wirte rules for intelligent flushing of content from varnish based on certain rules. E.g. when a new piece of content of type 'announcement' is published, purge both the node published and the frontpage from varnish
- Varnish is faster that boost - as varnish can be configured to store its cache in memory, it is inherently faster than a file system based solution (such as boost). This was especially apparent as we normally run boost over NFS (web cluster)
- When there is caching problems, they are easier to track down - we often found using boost together with varnish, that when varnish would miss, it would then serve an ultimately stale version from boost. This can be frustrating for your content authors
If you already have an effective Varnish cache in place, the only additional performance gain Boost could give you is making pages cacheable.
Instead of having Drupal generate static pages, though, I'd rather make the effort of migrating to Pressflow Drupal, Cocomore Drupal or Drupal 7. Unlike vanilla Drupal 6, those distributions send HTTP responses that enable Varnish to cache not only static assets like images and CSS but also complete rendered pages.
We're achieving decent performance gains and heavily reduced web server load by making use of page caching with Varnish.