linux-fsdevel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Theodore Tso <tytso@MIT.EDU>
To: Andreas Dilger <adilger@sun.com>
Cc: Jeremy Allison <jra@samba.org>,
	samba-technical@samba.org,
	linux-fsdevel <linux-fsdevel@vger.kernel.org>,
	linux-cifs-client@lists.samba.org
Subject: Re: Samba speed
Date: Tue, 9 Dec 2008 01:06:50 -0500	[thread overview]
Message-ID: <20081209060650.GD10270@mit.edu> (raw)
In-Reply-To: <20081209003701.GE16818@webber.adilger.int>

On Mon, Dec 08, 2008 at 04:37:01PM -0800, Andreas Dilger wrote:
> On Dec 08, 2008  18:38 -0500, Theodore Ts'o wrote:
> > On Mon, Dec 08, 2008 at 03:12:33PM -0800, Jeremy Allison wrote:
> > > 
> > > Turns out that ext4 doesn't suffer from the slowdown in the
> > > first place. The paper is extremly interesting, I'm looking
> > > at the implications for our default settings (most users
> > > are still using Samba on ext3 on Linux).
> > 
> > I thought the paper only talked about ext3, and theorized that delayed
> > allocation in ext4 might be enough to make the problem go away, but
> > they had not actually done any measurements to confirm this
> > supposition.  Has there been any more recent benchmarks comparing
> > ext3, ext4, and XFS running Samba serving Windows clients?
> 
> It wouldn't be a bad idea to use this hint in the kernel to call
> fallocate(), given the fact that this is used by a number of apps
> (i.e. all of them) that predate fallocate().

What, a one byte write that extends a file should be translated into
an fallocate()?  How.... crude.  The question is, do we really want to
be encouraging Microsoft in that way?  :-)

Also, as it turns out, Microsoft is only doing this every 128k (i.e.,
touch one byte 128k after the end of the file, then write 128k of
data, then write another 1 byte of garbage 128k past the end of the
file, etc.), so ext4's delayed allocation algorithms seems to be able
to handle things just fine.

I also suspect that if someone tried recompiling a kernel changing the
value of EXT3_DEFAULT_RESERVE_BLOCKS from 8 to 32, or changing Samba
to use the EXT3_IOC_SETRSVSZ ioctl immediately after opening a file
for writing to set the block allocation reservation size for that
inode to 32 blocks (128k), this might also enough of a kludge to solve
most of the performance problems of Samba running on ext3 versus a
Windows XP client.  If someone *does* manage to try this experiment,
please us know if it works...

					- Ted

  reply	other threads:[~2008-12-09  6:11 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-12-08 18:21 Samba speed Jeremy Allison
2008-12-08 22:39 ` Theodore Tso
2008-12-08 23:12   ` Jeremy Allison
2008-12-08 23:38     ` Theodore Tso
2008-12-09  0:37       ` Andreas Dilger
2008-12-09  6:06         ` Theodore Tso [this message]
2008-12-09  6:25           ` ronnie sahlberg
2008-12-09  6:55             ` Theodore Tso
2008-12-09  7:50               ` Volker Lendecke
2008-12-09 15:40                 ` Richard Sharpe

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=20081209060650.GD10270@mit.edu \
    --to=tytso@mit.edu \
    --cc=adilger@sun.com \
    --cc=jra@samba.org \
    --cc=linux-cifs-client@lists.samba.org \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=samba-technical@samba.org \
    /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;
as well as URLs for NNTP newsgroup(s).