[Gllug] Painfully slow MySql performance on 64-bit Atom processor

Richard Huxton dev at archonet.com
Wed Jan 19 20:31:12 UTC 2011


On 19/01/11 17:02, Richard W.M. Jones wrote:
> On Wed, Jan 19, 2011 at 09:30:32AM +0000, Richard Huxton wrote:
>> Contrary to what you might think, this is less useful for databases than
>> other applications. RDBMs tend to handle their own transaction logs
>> carefully anyway.
>
> Are you sure about this last point?  I'm pretty sure if the RDBMS is
> relying on fsync not to lie, then if fsync lies then Bad Things
> happen.

You need fsync to work (not necessarily the case with Linux + IDE/SATA). 
Most "my database just got slower" complaints are where fsync just did 
nothing before.

However, for a transaction log you're sequentially writing whole 
disk-blocks (or a multiple thereof) that can re-create all the data-file 
changes. Once a transaction-worth of blocks are written, an fsync is 
called and provided it returns success it doesn't matter whether the 
data files get written to or not.

The barriers let you group writes together and guarantee group A are all 
safely on disk before group B get written. This protects against cases 
where the disk-cache re-sorts A+B blocks and you end up with e.g. B's 
blocks and A's journal changes.

It provides (IIUC) protection against metadata corruption, but not data 
loss.

-- 
   Richard Huxton
   Archonet Ltd
--
Gllug mailing list  -  Gllug at gllug.org.uk
http://lists.gllug.org.uk/mailman/listinfo/gllug




More information about the GLLUG mailing list