On 3/12/07, Anton Blanchard <anton@xxxxxxxxx> wrote:
Hi Nick,
> Anyway, I'll keep experimenting. If anyone from MySQL wants to help look
> at this, send me a mail (eg. especially with the sched_setscheduler issue,
> you might be able to do something better).
I took a look at this today and figured Id document it:
http://ozlabs.org/~anton/linux/sysbench/
Bottom line: it looks like issues in the glibc malloc library, replacing
it with the google malloc library fixes the negative scaling:
# apt-get install libgoogle-perftools0
# LD_PRELOAD=/usr/lib/libtcmalloc.so /usr/sbin/mysqld
Quick datapoint, still collecting data and trying to verify it's
always the case: on my 8-way Xeon, I'm actually seeing *much* worse
performance with libtcmalloc.so compared to mainline. Am generating
graphs and such still, but maybe someone else with x86_64 hardware
could try the google PRELOAD and see if it helps/hurts (to rule out
tester stupidity)?