I support an ERP system for a manufacturer. We're experiencing intermittent application performance issues on our database, hosted on VMware by a third-party cloud provider. (They're a smaller provider... not Google, Microsoft, Amazon, or the like.) It's always on the back of my mind that their business interests dictate shoving as many customer VMs onto a single host as they can get away with, and I don't know if we're losing performance due to long CPU ready times, memory ballooning, or disk resource contention. Their salespeople paint a rosy picture, of course, but if I'm chasing down other unknowns, how can I be certain where the problem lies? How can I rule out the infrastructure layer of the stack without access to the host machine? I'm seeing periods of 100% CPU usage on every core, and no obvious explanation can be found when reviewing the running database sessions. (Sometimes jobs run quickly, and sometimes nearly-identical jobs hang with no apparent blocks.)
Migrating to another provider or back-sourcing these machines to our own server room are both unlikely in the immediate future, but it would be nice to have hard evidence to drive our next action from here.
Edit: The guest machine is running Windows 2008 R2 Datacenter.