Benchmarking linux systems with Phoronix

I recently found a really nice benchmarking suite for linux called Phoronix Test Suite.  It has a wide range of tests designed to exercise your CPU, memory, and disk I/O with both synthetic and application benchmarks.  It was perfect for a project I’m working on — we’re testing and building video encoding systems.  Phoronix contains specific tests for audio and video encoding performance.

One of the nicest things about Phoronix is the ability to upload your results to the Phoronix Global site, where other users can view your results and compare them to their own systems.

I’m building my encoding systems with Fedora Core 11, and I was able to easily install Phoronix Test Suite with yum:

Once installed, you can list the available suites like this:

You can get more information on a particular suite with this command:

(where SUITENAME is the name of the suite provided by the list-suites command).  This will describe the suite and list the individual tests included in the suite.

For more details on a particular test, use this command:

(where TESTNAME is the name of the test as listed in the suite info).

When you’ve selected the suites you want to run, start your tests with this command:

Phoronix will first download a lot of stuff — source code for the various applications used in the benchmarking, along with test data files.  With one set of test suites, the download was over 1GB!  I noticed that in some cases, phoronix could not download the source tarball it was looking for; I’m sure that particular test did not run properly (or at all).  In many cases, I saw lots of compilation warnings.   Most of the tests proceeded as expected, and frankly, for my purposes, that was good enough.  I wasn’t concerned enough to try to dig in deeper.

One thing that I thought was nice was the ability to generate side-by-side comparisons of different systems.  But it wasn’t obvious to me how to do that.  Here’s how:

  • run the desired test suites on the first machine; when you’re asked for a name for the suite, give it a name that makes sense for the overall set of systems you’re comparing (like “Video Encoders”); when asked for a name for this test run, give it a name that makes sense for the specific system you’re testing (like “AMD Phenom II”) 
  • upload to Phoronix Global
  • You will get a global ID, like “linuxeasecom-5739-13546-27372”
  • On the next system, run this command:
phoronix-test-suite benchmark linuxeasecom-5739-13546-27372

When you’re done running, upload your results to Phoronix Global.  You should see your results side-by-side.

 

Leave a Reply

Your email address will not be published. Required fields are marked *