Messages in this thread | | | Date | Tue, 11 Mar 2008 08:58:45 +0100 | From | Ingo Molnar <> | Subject | Re: Poor PostgreSQL scaling on Linux 2.6.25-rc5 (vs 2.6.22) |
| |
* Nick Piggin <nickpiggin@yahoo.com.au> wrote:
> PostgreSQL is different. It has zero idle time when running this > workload. It actually scaled "super linearly" on my system here, from > single threaded performance to 8 cores (giving an 8.2x performance > increase)! > > So PostgreSQL performance profile is actually much more interesting. > To my dismay, I found that Linux 2.6.25-rc5 performs really badly > after saturating the runqueues and subsequently increasing threads. > 2.6.22 drops a little bit, but basically settles near the peak > performance. With 2.6.25-rc5, throughput seems to be falling off > linearly with the number of threads.
thanks Nick, i'll check this - and i agree that this very much looks like a scheduler regression. Just a quick suggestion, does a simple runtime tune like this fix the workload:
for N in /proc/sys/kernel/sched_domain/*/*/flags; do echo $[`cat $N`|16] > N done
this sets SD_WAKE_IDLE for all the nodes in the scheduler domains tree. (doing this results in over-agressive idle balancing - but if this fixes your testcase it shows that we were balancing under-agressively for this workload.) Thanks,
Ingo
| |