If you read my blog or follow me on Twitter, you know that I have a strong interest in database server hardware. Having properly selected and sized database server hardware gives you a strong foundation to architect and implement a scalable, high performance database solution. Of course, a bad architecture, bad application, or poorly written queries can overwhelm even the best hardware, but having “good” hardware will give you an extra margin of protection that may help save the day in a crisis.
One of the tools I like to use to evaluate and compare server hardware is Geekbench, from Primate Labs. Geekbench is a processor and memory specific benchmark that gives you a good quick idea of the CPU and memory performance and capacity of a given system. Here is how Primate Labs describes it:
Geekbench provides a comprehensive set of benchmarks engineered to quickly and accurately measure processor and memory performance. Designed to make benchmarks easy to run and easy to understand, Geekbench takes the guesswork out of producing robust and reliable benchmark results.
I like to run Geekbench on pretty much any machine I can get my hands on, especially since it only takes a few minutes, and there are no configuration options to worry about. There is also an online results browser, where you can view the results for other systems that other Geekbench users have submitted. This is helpful when you are in the market for a new server, and you want to get a better idea how a particular processor family and generation performs compared to what you already have.
With the help of one of my blog readers (David Lydston), I was able to help find an issue in Geekbench 2.1.6, where it would not use more than 32 cores when it ran the benchmark. David is lucky enough to have a brand new Dell PowerEdge R910, with four Intel Xeon X7560 processors. The X7560 has eight cores, plus hyper-threading, so you get a total of 64-logical cores in a four socket machine. David also has a new Dell PowerEdge R815, with four AMD Opteron 6174 processors. The Opteron 6174 “Magny-Cours” has twelve cores, so a four socket machine gives you a total of 48 logical processors.
David was kind enough to run Geekbench 2.1.6 on his two new servers multiple times. He noticed that only 32-cores were busy in Windows Task Manager during the test runs, on both the Intel and the AMD system, and I noticed that the Geekbench scores seemed unusually low for both systems. I reached out to John Poole (twitter), the developer of Geekbench, and then put John and David in contact. David was willing to run debug and test builds of Geekbench multiple times on his shiny new servers, with various BIOS settings, and to make temporary changes to the number of processors that Windows would use with the msconfig tool to help confirm and troubleshoot the problem. John was willing to spend time working on test builds to find a problem that would only affect a relatively small number of customers. I was mostly a cheerleader, who suggested using mscofig to limit the number of cores on the AMD machine. Big kudos to both David and John for tackling this!
msconfig BOOT Advanced Options screen
Now, thanks to three people who only know each other though Twitter, we have a new version of Geekbench that scales beyond 32 processor cores. Systems with more than 32 cores will become increasingly common over the next year, as Intel releases the 10 core, hyper-threaded Westmere-EX (which would give you 80 logical cores in a four socket server), and as AMD releases the Bulldozer, which will have 16 cores per physical processor.