From: "Chuck Lever" <chuck.lever@oracle.com>
To: "Andrew Bell" <andrew.bell.ia@gmail.com>
Cc: linux-nfs@vger.kernel.org
Subject: Re: Performance Diagnosis
Date: Tue, 15 Jul 2008 11:49:11 -0400 [thread overview]
Message-ID: <76bd70e30807150849j22ffd428i5e647794289a2c82@mail.gmail.com> (raw)
In-Reply-To: <e80abd30807150834m47a1b86cle39885150f1d5bfd-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
On Tue, Jul 15, 2008 at 11:34 AM, Andrew Bell <andrew.bell.ia@gmail.com> wrote:
> Hi,
>
> I have a RHEL 5 system that exhibits less than wonderful performance
> when copying large files from/to an NFS filesystem. When the copy is
> taking place, other access to the filesystem is painfully slow. I
> would like to have the filesystem react well to small requests while a
> large request is taking place.
>
> A couple of questions:
>
> Is this a reasonable expectation?
Yes, but Linux NFS can't fulfill it. :-)
There is currently only one RPC transport socket between client and
server for each mount point. Large file copies (or similar
operations) will queue a lot of I/O, so your small requests will take
a while to get through the queued up writes or reads ahead of them.
> Is this perhaps an I/O scheduling issue that isn't specific to NFS,
> but shows up there because of the latency of my NFS setup?
>
> Is this most likely a client issue, a server issue or a combination?
Well, if your server or network is slow, this kind of thing is more
likely to happen.
> Do you have recomendations on the best way to determine what is
> happening? Are there existing tools to monitor active IO/NFS
> requests/responses and any relevant queues?
Yes, I wrote some Python tools that are still undocumented (ie you
will likely have to read the Python source to figure out what they
do). They were recently included in nfs-utils, but you can download
them from:
http://oss.oracle.com/~cel/linux-2.6/2.6.25/nfs-iostat
and
http://oss.oracle.com/~cel/linux-2.6/2.6.25/mountstats
>
>
> Thanks for any info/ideas before I get in too deep :)
>
> --
> Andrew Bell
> andrew.bell.ia@gmail.com
--
Chuck Lever
next prev parent reply other threads:[~2008-07-15 15:49 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-07-15 15:34 Performance Diagnosis Andrew Bell
[not found] ` <e80abd30807150834m47a1b86cle39885150f1d5bfd-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2008-07-15 15:49 ` Chuck Lever [this message]
2008-07-15 15:58 ` Peter Staubach
2008-07-15 16:23 ` Chuck Lever
[not found] ` <76bd70e30807150923r31027edxb0394a220bbe879b-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2008-07-15 16:34 ` Andrew Bell
[not found] ` <e80abd30807150934tc14e793ydd7aae44b4c3111b-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2008-07-15 17:20 ` Chuck Lever
2008-07-15 17:44 ` Peter Staubach
2008-07-15 18:17 ` Chuck Lever
[not found] ` <76bd70e30807151117g520f22cj1dfe26b971987d38-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2008-07-15 18:51 ` Trond Myklebust
2008-07-15 19:21 ` Peter Staubach
2008-07-15 19:35 ` Trond Myklebust
2008-07-15 19:55 ` Peter Staubach
2008-07-15 20:27 ` Trond Myklebust
2008-07-15 20:48 ` Peter Staubach
2008-07-15 21:15 ` Talpey, Thomas
2008-07-16 7:35 ` Benny Halevy
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=76bd70e30807150849j22ffd428i5e647794289a2c82@mail.gmail.com \
--to=chuck.lever@oracle.com \
--cc=andrew.bell.ia@gmail.com \
--cc=chucklever@gmail.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox