PostgreSQL performance on FreeBSD

postgresql-96x96György Vilmos has put together a post evaluating performance of PostgreSQL’s last five releases on a midrange x86 server:

“…’The “Dunnington’ code named CPU’s architecture and the number of CPUs are both an important factor for the OS and the database, because in this CPU a lot of cores are fighting for the spare bandwidth of the FSB, through which the slow memory and peripheral devices are reached. The multi level cache hierarchy and the slow FSB makes a hard job for the OS scheduler and memory allocator, which need to keep the CPUs busy by feeding them the most data from the caches.

This is a hard jobs and FreeBSD isn’t yet at the end of the road (to be honest, it just stepped on it), but here it’s not that important, because we were curious about what database version produce how much performance. Sadly there weren’t too much time and resources for tuning the OS and the databases.

FreeBSD was chosen -along the fact that I like it- because from its ports it’s easy to install various PostgreSQL (and MySQL) versions. The test itself was made with sysbench 0.4.12, and it’S OLTP benchmark on a 1 million row database, which of course fit into the machine’s RAM.
The data was on two 15kRPM SAS HDDs (RAID1), which is far from a heavy loaded database’s storage background, but approximately shows a typical web server environment’s characteristics, where you have to serve from the built in disks….”

He concludes that,

“I think it’s safe to say that if we have known PostgreSQL as a slow beast, it’s time to re-think (or measure) that, because it has gained quite much performance and scalability in the last three years. Not to speak about its features.”

Read the whole post

Thanks, György, for letting me know about your post.

Leave a Reply

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

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>