Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 01 Jan 2008 05:04:56 +0100
From:      Kris Kennaway <kris@FreeBSD.org>
To:        Ivan Voras <ivoras@freebsd.org>
Cc:        freebsd-performance@freebsd.org
Subject:   Re: mysql scaling questions
Message-ID:  <4779BBE8.2050608@FreeBSD.org>
In-Reply-To: <flb6bp$8kq$1@ger.gmane.org>
References:  <20071201205609.GA54238@harmless.hu>	<200712012108.lB1L8qAd005766@lava.sentex.ca>	<20071201211012.GA55519@harmless.hu>	<20071201122122.S884@192.168.1.107>	<20071204130810.GA77186@harmless.hu>	<47779AA7.2060801@FreeBSD.org>	<20071230132451.GA61295@harmless.hu>	<47779EBC.5020900@FreeBSD.org>	<20071230134354.GA63555@harmless.hu>	<4777A65C.8020406@FreeBSD.org>	<20071230141118.GA67574@harmless.hu>	<4777AB9C.1010003@FreeBSD.org> <flb6bp$8kq$1@ger.gmane.org>

index | next in thread | previous in thread | raw e-mail

Ivan Voras wrote:
> Kris Kennaway wrote:
>> Gergely CZUCZY wrote:
> 
>>>> It looks like myisam is doing huge numbers of concurrent reads of the
>>>> same file which is running into exclusive locking in the kernel
>>>> (vnode interlock and lockbuilder mtxpool).  Does it not do any
>>>> caching of the data in userspace but relies on querying into the
>>>> kernel every time? innodb doesn't have this behaviour.
>>> Sorry, but was this a rethorical kind of question, or was this
>>> addressed to me? :)
>>> If the later, then how do I find this out?
>> It's a general question.  It looks like myisam either has a design
>> deficiency in this regard or it has poor defaults.  If it can be made to
>> improve caching of the data in userland then performance should improve.
> 
> Isn't this common for software developed for Linux? I mean assuming
> syscalls are cheap; for example: gettimeofday(2), settitle(2), etc. I
> don't think the applications should be blamed for relying on performance
> optimizations not present in FreeBSD. Saying applications must do their
> own caching instead of relying on the kernel and need to avoid
> concurrent accesses to the same file seems like a doctrine from the dark
> ages.

Why?  Even if Linux magically has faster syscalls somehow, they are 
still not zero cost so avoiding huge numbers of unnecessary trips into 
the kernel is in no sense a "doctrine from the dark ages".  Besides, if 
my hypothesis about the problem is correct then mysql itself does this 
with the alternate innodb backend anyway.

Kris




home | help

Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4779BBE8.2050608>