Messages in this thread | | | Date | Tue, 27 Feb 2007 17:27:07 -0800 | From | "Nish Aravamudan" <> | Subject | Re: SMP performance degradation with sysbench |
| |
On 2/26/07, Nick Piggin <nickpiggin@yahoo.com.au> wrote: > Rik van Riel wrote: > > Lorenzo Allegrucci wrote: > > > >> Hi lkml, > >> > >> according to the test below (sysbench) Linux seems to have scalability > >> problems beyond 8 client threads: > >> http://jeffr-tech.livejournal.com/6268.html#cutid1 > >> http://jeffr-tech.livejournal.com/5705.html > >> Hardware is an 8-core amd64 system and jeffr seems willing to try more > >> Linux versions on that machine. > >> Anyway, is there anyone who can reproduce this? > > > > > > I have reproduced it on a quad core test system. > > > > With 4 threads (on 4 cores) I get a high throughput, with > > approximately 58% user time and 42% system time. > > > > With 8 threads (on 4 cores) I get way lower throughput, > > with 37% user time, 29% system time 35% idle time! > > > > The maximum time taken per query also increases from > > 0.0096s to 0.5273s. Ouch! > > > > I don't know if this is MySQL, glibc or Linux kernel, > > but something strange is going on... > > Like you, I'm also seeing idle time start going up as threads increase. > > I initially thought this was a problem with the multiprocessor scheduler, > because the pattern is exactly like some artificat in the load balancing. > > However, after looking at the stats, and testing a couple of things, I > think it may not be after all. > > I've reproduced this on a 8-socket/16-way dual core Opteron. So far what > I am seeing is that MySQL is having trouble putting enough load into the > scheduler.
Here are some graphs from the 4-socket/8-way Xeon box (no SMT, no MC in .config) I posted about earlier.
transactions.png resembles Nick's results pretty closely, in that a drop-off occurs, at the same # of threads, too. That seems weird to me, but I haven't thought about it too closely. Shouldn't Nick's be dropping off closer to 16 threads (that would be 1 per core, then, right?)
idle.png is the average % idle according to sar over each run from 1 to 32 threads. This appears to confirm what Rik was seeing.
Not sure if my data is hurting or helping, but this box remains available for further tests.
Thanks, Nish [unhandled content-type:image/png][unhandled content-type:image/png] | |