Optimizing Server Architecture with Apache/Varnish/MySQL on Linux

I would go with one high-RAM (check the varnish RAM usage using the varnish-tools and increase until fine) Varnish instances and no load-balancer (or two varnishes and load-balancer it you want high-availability) and as many apache servers as you need... if your app is CPU bound (more servers) or RAM bound (servers with higher MEM) is up to you.

Also playing with the cache settings (what can be cashed for how long) will help.


OP, you can use http://blitz.io for some free bench marking. Also, look into the 'ab' and 'httperf' for some command line bench marking tools.

Varnish can be used with great success with minimal configuration. Also, if you use PHP heavy apps, I recommend installing APC.