While you could test all of those independently I would recommend the Phoronix Test Suite.
From the Site:
The Phoronix Test Suite is the most comprehensive testing and benchmarking platform available that provides an extensible framework for which new tests can be easily added. The software is designed to effectively carry out both qualitative and quantitative benchmarks in a clean, reproducible, and easy-to-use manner.
The Phoronix Test Suite can be adapted to run on platforms ranging from smartphones and personal computers to multi-core workstations and cloud computing infrastructures. (VM: essentially cloud)
Extensible Architecture: The Phoronix Test Suite ships with more than 130 test profiles and 60 test suites. These tests range from battery power consumption monitoring for mobile devices to multi-threaded ray-tracing benchmarks and span the CPU, graphics, system memory, disk storage, and motherboard components. If there is a test though not currently covered by the Phoronix Test Suite, new tests can be quickly added via its extensible architecture (see documentation) with each profile just being comprised of XML files and a few simple scripts.
Note: I have never used the product only been told about it recently from a friend who did. He had some MySQL specific tests that he wanted to do that (according to him) no benchmark could do. He knew what to do for the test and was able to use their framework to integrate the tests he wanted.
Phoronix Test Suite: Home Page
Phoronix Test Suite: Features