Re: SMP performance degradation with sysbench
From: Eric Dumazet
Date: Tue Mar 13 2007 - 02:01:23 EST
Anton Blanchard a écrit :
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
Hi Anton, thanks for the report.
glibc has certainly many scalability problems.
One of the known problem is its (ab)use of mmap() to allocate one (yes : one
!) page every time you fopen() a file. And then a munmap() at fclose() time.
mmap()/munmap() should be avoided as hell in multithreaded programs.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/