Category Archives: postgres

Lack of posts recently

I’ve been slacking on the posts recently.  There has been a lot going on.  I’ve switched jobs and I’m now working for E.W. Scripps’ Online Division.  E.W. Scripps is newspaper company based in Knoxville and also formally part of HGTV, FOOD Networ, etc.  I was brought on to help split out the web servers during the company split.

We’ve made a lot of progress on getting things running more effeciently.  We’ve recently upgraded from Postgres 8.1.3 to 8.3.3 which made a huge improvement.  Even though Postgres claims that writes don’t block reads and reads don’t block writes, we were seeing a lot of processes getting hung waiting on a commit to finish.  I think that it was having problems starting a new transaction while a transaction was commiting.  Postgres 8.3 introduced asyncronous commits, so that we no longer have to wait for everything to be flushed to disk before we received the commited status.  Now we immediately get a commited status and transactions are written to disk as they can be.

This has been a HUGE performance gain for out database.  Before we had seem the database hit loads over 300 while getting Drudged.  Now we never see the database get above a load of 10, they ususally over around 3 to 4.

Next we will be working on clustering Postgres.  I have evaluated CyberCluster, PGCluster, Slony, PGPoolII and Sequoia.  The only one that seems to be reliable and meet our needs has been Sequoia, so we will see how that goes.

Oh, and I’ve also got a new MacBook Pro.  More on that latter.