From: Chuck Lever <chuck.lever@oracle.com>
To: Andreas Schuldei <andreas@schuldei.org>
Cc: nfs@lists.sourceforge.net
Subject: Re: nfs performance problem
Date: Fri, 26 Oct 2007 10:18:29 -0400 [thread overview]
Message-ID: <4721F735.8050503@oracle.com> (raw)
In-Reply-To: <20071025193457.GE4499@jakobus.spotify.net>
[-- Attachment #1: Type: text/plain, Size: 4328 bytes --]
Andreas Schuldei wrote:
> * Chuck Lever (chuck.lever@oracle.com) [071025 20:25]:
>> On Oct 25, 2007, at 9:10 AM, Andreas Schuldei wrote:
>> With a single client, you should not expect to get any better performance than by running the web service on the NFS
>> > server. The advantage of using NFS under a web service is that you can transparently scale horizontally. When you add
>> > a second or third web server that serves the same file set, you will see an effective increase in the size of the data
>> > cache between your NFS server's disks and the web servers.
>
> Not with terabyte of data and a distributed access pattern.
> Certainly i will have some cache hits but not enough to be able
> to serv considerable amounts out of RAM.
If you don't intend to scale horizontally by adding more clients, then
inserting NFS between your disks and your web service is not recommended
unless you have security requirement that needs to be solved by
administering your data separate from running the web service.
>> If anything, the 10s
>> latency you see when the web server is on the same system with the disks is indicative of local file system
>> configuration issues.
>
> how can i measure the latency on the local machine? i would be
> very interested in seeing how it behaves latency wise.
The iostat command has options for displaying disk service time.
>>> on the client i mount them like this:
>>>
>>> lotta:/var/disks/sda on /var/disks/sda type nfs (ro,hard,intr,proto=tcp,rsize=32k,addr=217.213.5.44)
>>> lotta:/var/disks/sdb on /var/disks/sdb type nfs (ro,hard,intr,proto=tcp,rsize=32k,addr=217.213.5.44)
>>> lotta:/var/disks/sdh on /var/disks/sdh type nfs (ro,hard,intr,proto=tcp,rsize=32k,addr=217.213.5.44)
>>> lotta:/var/disks/sdi on /var/disks/sdi type nfs (ro,hard,intr,proto=tcp,rsize=32k,addr=217.213.5.44)
>> There are some client-side mount options that might also help. Using "nocto" and "actimeo=7200" could reduce
>> synchonous NFS protocol overhead. I also notice a significant amount of readdirplus traffic. Readdirplus requests are
>> fairly heavyweight, and in this scenario may be unneeded overhead. Your client might support the recently added
>> "nordirplus" mount option, which could be helpful.
>>
>> I wonder if "rsize=32k" is supported - you might want "rsize=32768" instead.
>
> i think that gave an effect. now i am in the 90-100Mbyte/s
> ballpark and might hit the one-nic (1gbit) bottleneck.
>
>> Or better, let the client and server
>> negotiate the maximum that each supports automatically by leaving this option off. You can check what options are in
>> effect on each NFS mount point by looking in /proc/self/mountstats on the client.
>
> there it says now, after i specified rsize=2097152:
> opts: rw,vers=3,rsize=1048576,wsize=1048576,acregmin=3,acregmax=60,acdirmin=30,acdirmax=60,hard,intr,nolock,proto=tcp,timeo=600,retrans=2,sec=sys
>
> i am surprised that it did not protest when it could not parse
> the "k". note that it it only took 1M chunks. how come?
1MB is the maximum that both your server and client support. Again, if
you don't specify rsize at all, the maximum both support will be
negotiated automatically.
>> Insufficient read-ahead on your server may be an issue here. Read traffic from the client often arrives at the server
>> out of order, preventing the server from cleanly detecting sequential reads. I believe there was a recent change to
>> the NFS server that addresses this issue.
>
> when did that go in? do i need to activate that somehow?
I don't think activation is needed. Someone else on the list can speak
to when it was included in recent kernels or in distributions. However,
since you are already close to your network limits, read-ahead is
probably not an issue for you.
> how can i measure the latency on a loaded server? both locally
> and over nfs?
The iostat command, as mentioned above, will report on local disk
activity. NFS client activity has not been integrated into iostat, but
there are some NFS client metrics available in /proc/self/mountstats. I
have a pair of Python tools that can extract and display RPC request
latency information. See:
http://oss.oracle.com/~cel/linux-2.6/2.6.21/iostat-ms
and
http://oss.oracle.com/~cel/linux-2.6/2.6.21/mountstats
[-- Attachment #2: chuck.lever.vcf --]
[-- Type: text/x-vcard, Size: 248 bytes --]
begin:vcard
fn:Chuck Lever
n:Lever;Chuck
org:Oracle Corporation;Corporate Architecture, Linux Projects Group
email;internet:chuck.lever@oracle.com
title:Principal Member of Staff
tel;work:+1 248 614 5091
x-mozilla-html:FALSE
version:2.1
end:vcard
[-- Attachment #3: Type: text/plain, Size: 314 bytes --]
-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems? Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
[-- Attachment #4: Type: text/plain, Size: 140 bytes --]
_______________________________________________
NFS maillist - NFS@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/nfs
next prev parent reply other threads:[~2007-10-26 14:27 UTC|newest]
Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-10-25 13:10 nfs performance problem Andreas Schuldei
2007-10-25 13:53 ` Bernd Schubert
2007-10-27 9:25 ` Andreas Schuldei
2007-10-25 15:25 ` Chuck Lever
2007-10-25 19:34 ` Andreas Schuldei
2007-10-26 14:18 ` Chuck Lever [this message]
2007-10-26 17:01 ` Talpey, Thomas
2007-10-27 1:35 ` dean hildebrand
[not found] ` <c5befdd30710261835q50d34026h4dad32090db8a084@mail.gmail.co m>
2007-10-29 12:59 ` Talpey, Thomas
-- strict thread matches above, loose matches on Subject: below --
2007-10-25 14:39 Andreas Schuldei
2002-11-07 15:19 Baker, Byran
2002-11-07 15:49 ` Matt Heaton
2002-11-07 17:32 ` Ragnar Kjørstad
2002-11-06 17:08 pwitting
2002-11-05 22:09 Lever, Charles
2002-11-05 20:56 Lever, Charles
2002-11-05 18:03 poczta.dotcom.pl
2002-11-05 19:17 ` Ragnar Kjørstad
2002-11-05 19:55 ` poczta.dotcom.pl
2002-11-05 20:22 ` Matt Heaton
2002-11-05 20:39 ` Benjamin LaHaise
2002-11-05 20:46 ` Matt Heaton
2002-11-05 21:24 ` Benjamin LaHaise
2002-11-05 23:32 ` Ragnar Kjørstad
2002-11-06 8:59 ` myciel
2002-11-06 10:16 ` Ragnar Kjørstad
2002-11-06 11:46 ` myciel
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=4721F735.8050503@oracle.com \
--to=chuck.lever@oracle.com \
--cc=andreas@schuldei.org \
--cc=nfs@lists.sourceforge.net \
/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