That is: if you're running on an older kernel, you probably won't see quite as much gain.
That is: if you're running on an older kernel, you probably won't see quite as much gain.
To be specific, the change reduced read I/O (http://i.imgur.com/L8NWO.png) and load average (http://i.imgur.com/7793A.png) both by an order of magnitude, and the variance is much tighter than before. (The system is a dual Xeon quad-core X5355/2.66GHz with 32GB RAM and RAID5.)
That improvement was fairly miraculous — a factor of 10x just by upgrading a kernel is not something that happens every day. Still, I would not be surprised if Postgres 9.2 pushes performance even higher.
1. http://kernelnewbies.org/Linux_3.2#head-fbc26b4522e4e990a9ea...
The first 2 are bottom-up, structured approaches to benchmarking low-level system performance with an emphasis on *nix, and building up to database performance characterization and investigation. Despite their names, both have a lot of great general, non-product-specific use.
The third I include because it is the only MSSQL-specific book I have on the subject, and it sounds like you're in Windows Land. It has some real gems, but little coverage of the OS or methodology. I cannot over-emphasize how important that methodology is.
Make sure you learn how to use the Resource Monitor, and SQL Profiler.
If you want to chat about it more, I'm justinpitts at google's mail.
[1] http://www.amazon.com/PostgreSQL-High-Performance-Gregory-Sm... [2] http://www.amazon.com/Optimizing-Oracle-Performance-Cary-Mil... [3] http://www.amazon.com/Performance-Tuning-Server-Dynamic-Mana...
cacti is also supposed to be good but I have never used it myself.
We used Munin previously, and I must admit that Collectd feels like a step backwards. Both are very primitive, so we might look for something better soon, perhaps Graphite.
I recommend migrating to Linux (or one of the BSDs) if you want to get serious about system administration. The wealth of mature tools is vastly superior.
The Postgres book by Greg Smith is indispensible if you want to tune a Postgres installation.
If you don't already, understanding your concurrency and read/write patterns will go a long way to help you identify which benchmarks are meaningful for you.
Those numbers would presumably translate pretty well to newer CPUs as the numbers reflect the change in read I/O. Newer CPUs would handle the load faster, but the read traffic would be the same.
not as stable as a standard release though, in my experience (which was a while ago - stability is an important aim for the project, so they may have got better).
Hey Rosser! Didn't know you hung out here.
http://rhaas.blogspot.se/2011/08/linux-and-glibc-scalability...
FreeBSD probably works as well as Linux >= 3.2 when it comes to llseek, but there might have some other scalability issue which is not present in Linux.
EDIT: Here is a link to the Linux kernel patch, PostgreSQL uses SEEK_END to check the file sizes.