I have a 5 dedicated servers each running the same version of an application. I'm looking to massively step up our caching strategy to take some load off MySQL as this is our main bottleneck. All the sites are LAMP and each server has approximately 20 hosted sites. I'm planning to use Zend_Cache for running the caching and it has a number of adapters i can use - the main ones are Memcached / APC / File and SQLlite. I have a number of things that i'm looking to cache but they mostly fall into the region of either large DB result sets or HTML snippets. For HTML snippets the file based solution would seem ideal but a number of people have mentioned this could introduce a sizeable IO overhead - especially if it was done across a large number of sites as this would be. I do also like the idea of Memcached because of its speed - i've had a vague idea to try and set up a dedicated Memcached server purely for handling caching and have all my other servers use this although i'm not sure how much of a good idea this is and how much of its speed would be lost by the RAM not actually being directly local to the machine making the request.
Ultimately it would be good to get some solid advice on how performant (best performing) the different adapters are, what they're best suited to, and what our best options are.