Article Archive

PostgreSQL Server Benchmarks: Epilogue

08 Jan 2013

So uh, it’s been about 18 months since my last post. I lost steam in the middle of the PostgreSQL tuning series and just never got back to it. I’ve wanted to write about other things but felt I couldn’t without first finishing the series. I’m disappointed in myself for letting it get to this point. If you were following the tuning series, I apologize for leaving you in the lurch.

read more »

PostgreSQL Server Benchmarks: Part Five — Disks

05 Jul 2011

Over the past few posts I’ve talked a lot about optimizing our new server’s basic systems. The RAM and CPU benchmarking and optimization has been relatively straightforward; the individual subsystems are either fast or they’re not. Our next stop is the disks, and the landscape isn’t quite so simple this time. While there aren’t as many options for the disks as there were for the CPUs, the changes made here make a more substantial impact on the system’s performance. The main bottleneck for any database is I/O, so the goal here is to make sure we’re not leaving any performance on the table.

read more »

PostgreSQL Server Benchmarks: Part Four — CPU

04 Apr 2011

CPU tuning is finicky. Modern CPUs are extremely complex, and server-class CPUs have tons of options used to tune for very specific usecases. Our Xeon E5620s have twelve options that can be toggled, and that’s before you even look at power management. To make matters worse, most of these settings make subtle changes that can only be meaningfully measured under actual application load. For that reason, this round of benchmarking will be focused on power management settings.

read more »

PostgreSQL Server Benchmarks: Part Three — Memory

03 Mar 2011

Good day, interfriends! Welcome to part three of my series on benchmarking Estately’s new database server. In this post I’ll discuss the tools, methodology, and results of the memory benchmarks. If you’re just joining our program already in progress, you may want to go back and skim Part One, which describes the background of the project.

read more »

PostgreSQL Server Benchmarks: Part Two — Configuration

27 Feb 2011

Welcome to part two of my series on benchmarking Estately’s new database server. Back in Part One, I described the background of the project and outlined the hardware and methodology that I’ll be using. This post describes the baseline configuration of the server. I’ll show how I configured the BIOS, installed the OS, and set up the benchmarking tools.

read more »

PostgreSQL Server Benchmarks: Part One — Background

27 Feb 2011

We (by which I mean Estately) recently picked up a new database server. Following the recommendations of pretty much the entire PostgreSQL community, I’m starting my performance tuning by thoroughly benchmarking the new machine in a variety of configurations to determine the optimal setup. This is the first in a seven-part series documenting this process.

read more »

DRY out your database.yml

27 Jun 2006

While paging through my RSS aggregator this afternoon, I came across James Duncan Davidson’s article Conditional Rails Database Configuration, which is unfortunately no longer available. It showed how Rails would interpret ERb embedded in your database.yml file.

read more »