From: "J.A. Magallón" <jamagallon@ono.com>
To: Rik van Riel <riel@redhat.com>
Cc: Hiro Yoshioka <hyoshiok@miraclelinux.com>,
davej@redhat.com, harlan@artselect.com, nickpiggin@yahoo.com.au,
l_allegrucci@yahoo.it, linux-kernel@vger.kernel.org,
mingo@elte.hu, suparna@in.ibm.com, jens.axboe@oracle.com
Subject: Re: SMP performance degradation with sysbench
Date: Tue, 27 Feb 2007 09:14:09 +0100 [thread overview]
Message-ID: <20070227091409.6f3d12f9@werewolf-wl> (raw)
In-Reply-To: <45E3B421.603@redhat.com>
On Mon, 26 Feb 2007 23:31:29 -0500, Rik van Riel <riel@redhat.com> wrote:
> Hiro Yoshioka wrote:
> > Hi,
> >
> > From: Rik van Riel <riel@redhat.com>
> >> 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)
> > snip
> >>> 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...
> >
> > I have a question. If so, what is the difference of kernel's
> > view between SMP and CPU cores?
>
> None. Each schedulable entity (whether a fully fledged
> CPU core or an SMT/HT thread) is treated the same.
>
And what do the SMT and Multi-Core scheduling options in the kernel
config are for ? Because of this thread I re-read the help text, and
it looks like on could de-select the SMT scheduler option, get a
working SMP system, and see what difference ? I suppose its related
to migration and cache flushing and so on, but where could I get
more details ?
And more strange, what is the difference between multi-core and
normal SMP configs ?
> > Another question. When the number of threads exceeds the number of
> > CPU cores, we may get a lot of idle time. Then a workaround of
> > MySQL is that do not creat threads which exceeds the number
> > of CPU cores. Is it right?
>
> Not really, that would make it impossible for MySQL to
> handle more simultaneous database queries than the system
> has CPUs.
>
I don't know myqsl internals, but you assume one thread per query.
If its more like Apache, one long living thread for several connections ?
Its the same to answer 4+4 queries than 8 at half the speed, isn't it ?
> Besides, it looks like this is not a problem in MySQL
> per se (it works on FreeBSD) but some bug in Linux.
>
--
J.A. Magallon <jamagallon()ono!com> \ Software is like sex:
\ It's better when it's free
Mandriva Linux release 2007.1 (Cooker) for i586
Linux 2.6.19-jam07 (gcc 4.1.2 20070115 (prerelease) (4.1.2-0.20070115.1mdv2007.1)) #2 SMP PREEMPT
next prev parent reply other threads:[~2007-02-27 8:14 UTC|newest]
Thread overview: 45+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-02-25 17:44 SMP performance degradation with sysbench Lorenzo Allegrucci
2007-02-25 23:46 ` Rik van Riel
2007-02-26 13:36 ` Nick Piggin
2007-02-26 13:41 ` Nick Piggin
2007-02-26 22:04 ` Pete Harlan
2007-02-26 22:36 ` Dave Jones
2007-02-27 0:32 ` Hiro Yoshioka
2007-02-27 0:43 ` Rik van Riel
2007-02-27 4:03 ` Hiro Yoshioka
2007-02-27 4:31 ` Rik van Riel
2007-02-27 8:14 ` J.A. Magallón [this message]
2007-02-27 14:02 ` Rik van Riel
2007-02-27 14:56 ` Paulo Marques
2007-02-27 20:40 ` Nish Aravamudan
2007-02-28 2:21 ` Bill Davidsen
2007-02-28 2:52 ` Nish Aravamudan
2007-03-01 0:20 ` Nish Aravamudan
2007-02-27 19:05 ` Lorenzo Allegrucci
2007-03-01 16:57 ` Lorenzo Allegrucci
2007-02-28 1:27 ` Nish Aravamudan
2007-02-28 2:22 ` Nick Piggin
2007-02-28 2:51 ` Nish Aravamudan
2007-03-12 22:00 ` Anton Blanchard
2007-03-13 5:11 ` Nick Piggin
2007-03-13 9:45 ` Andrea Arcangeli
2007-03-13 10:06 ` Nick Piggin
2007-03-13 10:31 ` Andrea Arcangeli
2007-03-13 10:37 ` Nick Piggin
2007-03-13 10:57 ` Andrea Arcangeli
2007-03-13 11:12 ` Nick Piggin
2007-03-13 11:40 ` Eric Dumazet
2007-03-13 11:56 ` Nick Piggin
2007-03-13 11:42 ` Andrea Arcangeli
2007-03-13 12:02 ` Eric Dumazet
2007-03-13 12:27 ` Jakub Jelinek
2007-03-13 12:08 ` Nick Piggin
2007-03-14 23:33 ` Siddha, Suresh B
2007-03-20 2:29 ` Zhang, Yanmin
2007-04-02 2:59 ` Zhang, Yanmin
2007-03-13 6:00 ` Eric Dumazet
2007-03-14 0:36 ` Nish Aravamudan
2007-03-14 1:00 ` Eric Dumazet
2007-03-14 1:09 ` Nish Aravamudan
[not found] <fa.V3M3ZgXL+lFlIyhx43YxCU/JFUk@ifi.uio.no>
[not found] ` <fa.ciL5lzdfskdJHJPgn+UVCHt/9EM@ifi.uio.no>
[not found] ` <fa.2ABbHhyCbp3Fx7hSE/Gr0SuzFvw@ifi.uio.no>
[not found] ` <fa.oaZk6Aiqd8gyZNsj7+m+w9MibhU@ifi.uio.no>
[not found] ` <fa.RjX9Y4ckjRCle5L+uWNdd0snOio@ifi.uio.no>
[not found] ` <fa.XocsudxlGplKh0kloTtA0juPwtA@ifi.uio.no>
2007-02-28 0:20 ` Robert Hancock
2007-02-28 1:32 ` Hiro Yoshioka
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20070227091409.6f3d12f9@werewolf-wl \
--to=jamagallon@ono.com \
--cc=davej@redhat.com \
--cc=harlan@artselect.com \
--cc=hyoshiok@miraclelinux.com \
--cc=jens.axboe@oracle.com \
--cc=l_allegrucci@yahoo.it \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@elte.hu \
--cc=nickpiggin@yahoo.com.au \
--cc=riel@redhat.com \
--cc=suparna@in.ibm.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox