All of lore.kernel.org
 help / color / mirror / Atom feed
From: Malahal Naineni <malahal@us.ibm.com>
To: "McAninley, Jason" <jmcaninl@harris.com>
Cc: "J. Bruce Fields" <bfields@fieldses.org>,
	"linux-nfs@vger.kernel.org" <linux-nfs@vger.kernel.org>
Subject: Re: Question regard NFS 4.0 buffer sizes
Date: Tue, 11 Feb 2014 17:18:52 -0600	[thread overview]
Message-ID: <20140211231852.GA27855@us.ibm.com> (raw)
In-Reply-To: <322949BF788C8D468BEA0A321B79799098BDC011@MLBMXUS20.cs.myharris.net>

McAninley, Jason [jmcaninl@harris.com] wrote:
> > > I have seen the GETATTR return MAXREAD and MAXWRITE attribute values
> > set to 1MB during testing with Wireshark. My educated guess is that
> > this corresponds to RPCSVC_MAXPAYLOAD defined in linux/nfsd/const.h.
> > Would anyone agree with this?
> > 
> > That's an upper limit and a server without a lot of memory may default
> > to something smaller.  The GETATTR shows that it isn't, though.
> 
> Memory shouldn't be a limit. I have the system isolated for testing - the server has ~126GB memory and the client has ~94GB.
> 
> 
> > > > If you haven't already I'd first recommend measuring your NFS read
> > > > and write throughput and comparing it to what you can get from the
> > > > network and the server's disk.  No point tuning something if it
> > > > turns out it's already working.
> > >
> > > I have measured sequential writes using dd with 4k block size.
> > 
> > What's your dd commandline?
> 
> dd if=/dev/zero of=[nfs_dir]/foo bs=4096 count=1310720

This ends up caching and the write back should happen with larger sizes.
Is this an issue with write size only or read size as well? Did you test
read size something like below?

dd if=[nfs_dir]/foo bs=1M count=500 of=/dev/null

You can create sparse "foo" file using truncate command.

> 
> Should result in a 5 GB file.
> 
> 
> > > The NFS
> > > share maps to a large SSD drive on the server. My understanding is
> > > that we have jumbo frames enabled (i.e. MTU 8k). The share is mounted
> > > with rsize/wsize of 32k. We're seeing write speeds of 200 MB/sec
> > > (mega-bytes). We have 10 GigE connections between the server and
> > > client with a single switch + multipathing from the client.
> > 
> > So both network and disk should be able to do more than that, but it
> > would still be worth testing both (with e.g. tcpperf and dd) just to
> > make sure there's nothing wrong with either.
> > 
> > > I will admit I have a weak networking background, but it seems like
> > we could achieve speeds much greater than 200 MB/sec, considering the
> > pipes are very wide and the MTU is large. Again, I'm concerned there is
> > a buffer somewhere in the Kernel that is flushing prematurely (32k,
> > instead of wsize).
> > >
> > > If there is detailed documentation online that I have overlooked, I
> > would much appreciate a pointer in that direction!
> > 
> > Also, what kernel versions are you on?
> 
> RH6.3, 2.6.32-279.el6.x86_64

NFS client and NFS server both using the same distro/kernel?

Regards, Malahal.


  reply	other threads:[~2014-02-11 23:18 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-02-11 12:32 Question regard NFS 4.0 buffer sizes McAninley, Jason
2014-02-11 14:36 ` J. Bruce Fields
2014-02-11 15:01   ` McAninley, Jason
2014-02-11 16:32     ` J. Bruce Fields
2014-02-11 21:17       ` McAninley, Jason
2014-02-11 21:54         ` J. Bruce Fields
2014-02-11 22:50           ` McAninley, Jason
2014-02-11 23:18             ` Malahal Naineni [this message]
2014-02-13 12:21               ` McAninley, Jason
2014-02-13 18:21                 ` J. Bruce Fields
2014-02-11 17:22     ` Chuck Lever

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=20140211231852.GA27855@us.ibm.com \
    --to=malahal@us.ibm.com \
    --cc=bfields@fieldses.org \
    --cc=jmcaninl@harris.com \
    --cc=linux-nfs@vger.kernel.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.