Overclocking Your Database Servers

written by Tim Callaghan on October 11, 2010 with no comments

It seems like I’ve been programming forever (we’re talking TS-1000, TRS-80, and Commodore64). I’ve always been looking to improve the performance of my programs, especially database applications. Better performance can usually be attributed to one of the following:

  • New Hardware[insert name of favorite hardware vendor] has just released new server technology that incorporates improved [RAM | CPU | Disk | RAID Controller]. At some point we’d purchase one of the new servers, install the OS and RDBMS software, restore a large database for benchmarking, and run scripts to test the performance. Performance always improved but it was never proportional to the time and money invested.
  • New Database Version[insert name of favorite database vendor] has just released version [insert version], now with [insert shiny new feature]. There are always “compelling” with each new release that “just might” improve the performance of your application. As with hardware, this usually improved performance marginally (though sometimes had no impact or decreased performance).
  • Restructuring Data (tables/indexes) and/or Code (SQL) – I always found this to be the best way to dramatically improve performance. However, you eventually you reach the optimal design of data and code.
The point of this blog entry is that I found an additional 29% performance improvement on my personal VoltDB “server”, simply by overclocking. Recently, while updating the BIOS, I realized that I installed a seriously large heatsink/fan (Artic Cooling Freezer 7 Pro Rev.2 92mm Fluid Dynamic CPU Cooler). The cooler is a monster! The rest of the system is an Intel Core-i7 920, ASRock X58 Extreme3 Motherboard, and G.SKILL Ripjaws Series 12GB RAM kit.
 Overclocking Cooler
I ran benchmarks using stock frequencies (CPU @ 2.66Ghz, RAM @ 1066Mhz) and overclocked (CPU @ 3.6Ghz, RAM @ 1440Mhz) with the VoltDB “Voter” example application. Testing was performed using a second machine as the client. The server performs 111,065 TPS at stock and 143,239 TPS overclocked. Nice to see a 29% improvement via a 35% overclock.
Overclocking Graph
If anyone wants to compete in my “VoltDB Performance Challenge” post your configuration and Voter TPS numbers in this forum posting. We have a single-socket and dual-socket leaderboard.Break out your liquid cooling and lets see who can hit 200,000 TPS on a single-socket!

I’ll sneak into the marketing storage closet and find prizes for the fastest systems reported.

Tim Callaghan

Sr. Technical Consultant
VoltDB