For Day 17 of this series, I am going to talk about Geekbench. Geekbench is a cross-platform, synthetic benchmark tool from Primate Labs. It provides a comprehensive set of benchmarks designed to quickly and accurately measure processor and memory performance. There are 32-bit and 64-bit versions of Geekbench, but in trial mode you can only use the 32-bit version. A license for the Windows version is only $12.99. The latest released version is 2.1.13, which became available on March 12, 2011.
One nice thing about Geekbench is that there are no configuration options whatsoever. All you have to do is just install it and run it, and within two to three minutes you will have an overall benchmark score for your system, which is further broken down into four sections, two measuring processor performance, Integer (12 scores) and Floating Point (14 scores), and two measuring memory bandwidth performance, Memory (5 scores), and Stream (8 scores).
I tend to focus first on the overall Geekbench score, and then look at the top level scores for each section, as shown in Figure 1. These scores can be used to measure and compare the absolute processor and memory performance between multiple systems, or between different configurations on the same system.
Figure 1: Geekbench Summary and System Information
I always run each test at least three times in succession, and take the average overall Geekbench score. This, in just a few minutes, gives me a pretty good idea of the overall processor and memory performance of the system.
To get the best performance on Geekbench (and in real-life database usage), it is important that you make sure that Windows is using the High Performance Power Plan instead of the default Balanced Power Plan. On most new server systems, there are also Power Management settings in the main system BIOS that need to be set correctly to get the best performance from a system. Otherwise, the system will try to minimize electrical power usage (at the cost of performance) despite what your Windows power plan setting is trying to do. Generally speaking, you either want to disable power saving at the BIOS level or set it to OS control (so that you can dynamically control it from within Windows). I talked more about Power Management in the Day 15 post of this series.
I like to run Geekbench on every available non-production system, so that I can save the various system configurations and Geekbench score results in a spreadsheet. Then, I can use this information to roughly compare the overall CPU/memory “horsepower” of different systems. This is very useful if you are doing capacity or consolidation planning.
For example, let’s say that you have an existing database server with (4) dual-core 3.4GHz Xeon 7140M processors and 64GB of RAM, and this system has an averaged Geekbench score of 5282. You are assessing a new system that has (2) six-core 3.33GHz Xeon X5680 processors and 72GB of RAM, and the new system has an averaged Geekbench score of 22,484. In this situation, you could feel extremely confident from a CPU and RAM perspective that the new, two-socket system could handle the workload of the old four-socket system, with plenty of room to spare. You could use the extra CPU capacity of the new system to handle additional workload, or you could use it to reduce your I/O requirements by being more aggressive with SQL Server data compression and backup compression.
In the absence of a large number of different systems on which to run Geekbench, you can still browse online the published Geekbench results for various systems. Simply look up the results for the system closest in spec to the one being evaluated. You can use the search function on that page to find systems with a particular processor, and then drill into the results to get a better idea of its relevance.