Caching options and modules
I have usually used the Boost module. It provides a lot of functionality and works really well, but can be a bit to set up since many times you have to modify .htaccess files when rules changes are made. I've used Boost for many sites where Varnish or some other server-side solution was not available and the results were satisfactory. Keep in mind that boost will not work when authenticated --- in fact many caching solutions will not. But Boost does have other modules to help cache authenticated pages for users.