Re: SMP performance degradation with sysbench

Rik van Riel
2007-02-27T00:44:23Z

Hiro Yoshioka wrote:
> Howdy,
>
> MySQL 5.0.26 had some scalability issues and it solved since 5.0.32
> http://ossipedia.ipa.go.jp/capacity/EV0612260303/
> (written in Japanese but you may read the graph. We compared
> 5.0.24 vs 5.0.32)
>
> The following is oprofile data
> ==>
> cpu=8-mysql=5.0.32-gcc=3.4/oprofile-eu=2200-op=default-none/opreport-l.txt
> <==
> CPU: Core Solo / Duo, speed 2666.76 MHz (estimated)
> Counted CPU_CLK_UNHALTED events (Unhalted clock cycles) with a unit
> mask of 0x00 (Unhalted core cycles) count 100000
> samples % app name symbol name
> 47097502 16.8391 libpthread-2.3.4.so pthread_mutex_trylock
> 19636300 7.0207 libpthread-2.3.4.so pthread_mutex_unlock
> 18600010 6.6502 mysqld rec_get_offsets_func
> 18121328 6.4790 mysqld btr_search_guess_on_hash
> 11453095 4.0949 mysqld row_search_for_mysql
>
> MySQL tries to get a mutex but it spends about 16.8% of CPU on 8 core
> machine.
>
> I think there are a lot of room to be inproved in MySQL implementation.

That's one aspect.

The other aspect of the problem is that when the number of
threads exceeds the number of CPU cores, Linux no longer
manages to keep the CPUs busy and we get a lot of idle time.

On the other hand, with the number of threads being equal to
the number of CPU cores, we are 100% CPU bound...

--
Politics is the struggle between those who want to make their country
the best in the world, and those who believe it already is. Each group
calls the other unpatriotic.