When W3TC says “most” they’re likely talking about the huge #’s of people on shared hosts without dedicated RAM.
On a VPS, database caching will help you … as long as you don’t run out of memory:
* Since the amount of RAM used varies widely on your sites code & plugins, grab the P3 Performance Profiler plugin to check memory use across most of all of your site’s pages (run scan > Advanced Metrics > check avg Memory Usage). Then check your MaxClients in your Apache httpd.conf (you’ll know where to look if you’re not running Apache) and do the math on memory use * clients. Or to be really safe look at the memory_limit in php.ini and then do the math.
* If there’s enough memory for your Apache clients and MySQL, and other modules, and email services, and anything else you’re running, *plus* the object cache … then you can use APC or memcache|d.
As for performance … APC will be faster for you:
* APC can act as both an opcode and object cache. Memcache is just an object cache.
* APC is an in-process, single-host cache. While memcache is a separate process for distributed hosts, so adds some TCP latency even when it’s running locally.
…if you have many servers or want to put your object cache on a separate VPS, then memcache will work. But if you have the memory to keep everything on a single server stick with APC.
Here are some benchmarks:
* https://www.mysqlperformanceblog.com/2006/08/09/cache-performance-comparison/
* https://stackoverflow.com/questions/1794342/memcache-vs-apc-for-a-single-server-site-data-caching