lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <4D3AD636.6040801@gmail.com>
Date:	Sat, 22 Jan 2011 08:05:58 -0500
From:	Ric Wheeler <ricwheeler@...il.com>
To:	Ted Ts'o <tytso@....edu>
CC:	Josef Bacik <josef@...hat.com>,
	Jon Leighton <j@...athanleighton.com>,
	linux-ext4@...r.kernel.org
Subject: Re: Severe slowdown caused by jbd2 process

On 01/21/2011 06:56 PM, Ted Ts'o wrote:
> On Fri, Jan 21, 2011 at 09:31:45AM -0500, Josef Bacik wrote:
>> Yup, whatever you are doing in your webapp is making your database do lots of
>> fsyncs, which is going to suck.  If you are on a battery backed system or just
>> don't care if you lose your database and rather it be faster you can mount your
>> ext4 fs with -o nobarrier.  Thanks,
> Note that if you don't use -o barrier on ext3, or use -o nobarrier on
> ext4, the chance of significant file system damage if you have a power
> failure, since without the barrier, the file system doesn't wait for
> disk to acknowledge that the data has hit the barrier.  The problem is
> that if you are using a barrier operation, you're not going to be able
> to get more than about 30-50 non-trivial[1] fsync's per second on a
> standard HDD; barriers are inherently slow.
>
> [1] Where there was some kind of data write between the two fsync's.
> You may be able to get faster back-to-back fsync() with no intervening
> data writes, but that's not terribly interesting.  :-)
>
> A UPS should protect you against most of the dangers of not using
> barriers.  The other choice is to be more intelligent with your coding
> (and/or with your database choice) to avoid needing a huge number of
> fsync's, as they are going to be costly.  If you can batch multiple
> database operations under a single commit, for example, you should be
> able to eliminate the need for so many fsync's.
>
> 		        	       	       - Ted
>

Just a note that databases usually already think hard about batching updates 
into transactions which all go to disk on a commit.

Various databases have statistics to show the average size of a transaction, etc 
and that can help you tune your workload,

Ric

--
To unsubscribe from this list: send the line "unsubscribe linux-ext4" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ