All of lore.kernel.org
 help / color / mirror / Atom feed
* NFS/UDP slow read, lost fragments
@ 2003-09-25 17:59 Robert L. Millner
  2003-09-25 20:22 ` Brian Mancuso
                   ` (2 more replies)
  0 siblings, 3 replies; 12+ messages in thread
From: Robert L. Millner @ 2003-09-25 17:59 UTC (permalink / raw)
  To: nfs

Hello,

The problem I am seeing is similar to what was posted by Larry Sendlosky
on Jun 27, "2.4.20-pre3 -> 2.4.21 : nfs client read performance broken"
though I have not done as through a drill-down into the nature of the
problem.

Somewhere between 2.4.19 and 2.4.20, NFS/UDP read performance began to
suck because of a large number of request retransmits.  From tcpdump, the
retransmits are for read transactions which return data in a reasonable
time frame but are missing one or more fragments of the return packet.

The client is a PIII 550, dual CPU, 1GB RAM, eepro100 (tested with both
the e100 and eepro drivers) running a variety of kernels from the stock
Red Hat 7.3 (2.4.20-20.7 which exhibits the problem), and from stock
2.4.18 through 2.4.22.  2.4.20 and above exhibit this problem.

The server is a Network Appliance F820 running ONTAP 6.2.2.  Tests are
conducted when the F820 is not under a noticeable load.

>From the difference in behavior between kernel revisions and by tcpdump, 
it is believed that the fragments are transmitted by the server.

The timings for different IO sizes for NFSv3 reads of a 70MB file:

Configuration             Seconds Real Time
-------------------------------------------
UDP, 32k                       1080
UDP,  8k                        420
UDP,  4k                        210
UDP,  1k                         40

TCP, 32k                          6.4


The NFSv2/UDP timings for 8k, 4k and 1k are almost identical to the
NFSv3/UDP timings.

The same test with 2.4.18 yields read times for around 6.3 seconds for 32k
and 8k NFSv2 and NFSv3 over UDP.

Setting rmem_max, rmem_default, wmem_max and wmem_default to either 524284 
or 262142 make no difference.

Setting netdev_max_backlog to 1200 (from 300) makes no difference.

Setting ipfrag_high_thresh to up to 4194304 makes no difference.


We have a mix of clients and servers, not all of which support NFS/TCP yet
so we can't globally set tcp in the automounter maps for our netapp mounts
or as "localoptions" in the autofs init script.  The mount patch submitted
by Steve Dickson on Aug 6, "NFS Mount Patch:  Making NFS over TCP the
default" is probably the immediate workaround that will at least make the
mounts that really matter to us work well again.  I'll test that next.


Is this a known problem?  Is there a patch already out there or in the
works that fixes this?  What other data would help drill into this
problem?


	Rob



-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf
_______________________________________________
NFS maillist  -  NFS@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/nfs

^ permalink raw reply	[flat|nested] 12+ messages in thread
* RE: NFS/UDP slow read, lost fragments
@ 2003-09-25 20:11 Lever, Charles
  0 siblings, 0 replies; 12+ messages in thread
From: Lever, Charles @ 2003-09-25 20:11 UTC (permalink / raw)
  To: Robert L. Millner; +Cc: nfs

hi robert-

if packets are being lost in server replies, then i
don't think this is strictly a client problem.

the newer clients may be more likely to overload a server
or network by sending more requests than can be buffered.
look into network cleanliness, and contact your local
NetApp SE for help in getting diagnostic info from your
filer.

especially because this problem goes away with TCP, i
would suspect a networking problem first.

> -----Original Message-----
> From: Robert L. Millner [mailto:rmillner@transmeta.com]=20
> Sent: Thursday, September 25, 2003 2:00 PM
> To: nfs@lists.sourceforge.net
> Subject: [NFS] NFS/UDP slow read, lost fragments
>=20
>=20
> Hello,
>=20
> The problem I am seeing is similar to what was posted by=20
> Larry Sendlosky
> on Jun 27, "2.4.20-pre3 -> 2.4.21 : nfs client read=20
> performance broken"
> though I have not done as through a drill-down into the nature of the
> problem.
>=20
> Somewhere between 2.4.19 and 2.4.20, NFS/UDP read performance began to
> suck because of a large number of request retransmits.  From=20
> tcpdump, the
> retransmits are for read transactions which return data in a=20
> reasonable
> time frame but are missing one or more fragments of the return packet.
>=20
> The client is a PIII 550, dual CPU, 1GB RAM, eepro100 (tested=20
> with both
> the e100 and eepro drivers) running a variety of kernels from=20
> the stock
> Red Hat 7.3 (2.4.20-20.7 which exhibits the problem), and from stock
> 2.4.18 through 2.4.22.  2.4.20 and above exhibit this problem.
>=20
> The server is a Network Appliance F820 running ONTAP 6.2.2.  Tests are
> conducted when the F820 is not under a noticeable load.
>=20
> >From the difference in behavior between kernel revisions and=20
> by tcpdump,=20
> it is believed that the fragments are transmitted by the server.
>=20
> The timings for different IO sizes for NFSv3 reads of a 70MB file:
>=20
> Configuration             Seconds Real Time
> -------------------------------------------
> UDP, 32k                       1080
> UDP,  8k                        420
> UDP,  4k                        210
> UDP,  1k                         40
>=20
> TCP, 32k                          6.4
>=20
>=20
> The NFSv2/UDP timings for 8k, 4k and 1k are almost identical to the
> NFSv3/UDP timings.
>=20
> The same test with 2.4.18 yields read times for around 6.3=20
> seconds for 32k
> and 8k NFSv2 and NFSv3 over UDP.
>=20
> Setting rmem_max, rmem_default, wmem_max and wmem_default to=20
> either 524284=20
> or 262142 make no difference.
>=20
> Setting netdev_max_backlog to 1200 (from 300) makes no difference.
>=20
> Setting ipfrag_high_thresh to up to 4194304 makes no difference.
>=20
>=20
> We have a mix of clients and servers, not all of which=20
> support NFS/TCP yet
> so we can't globally set tcp in the automounter maps for our=20
> netapp mounts
> or as "localoptions" in the autofs init script.  The mount=20
> patch submitted
> by Steve Dickson on Aug 6, "NFS Mount Patch:  Making NFS over TCP the
> default" is probably the immediate workaround that will at=20
> least make the
> mounts that really matter to us work well again.  I'll test that next.
>=20
>=20
> Is this a known problem?  Is there a patch already out there or in the
> works that fixes this?  What other data would help drill into this
> problem?
>=20
>=20
> 	Rob
>=20
>=20
>=20
> -------------------------------------------------------
> This sf.net email is sponsored by:ThinkGeek
> Welcome to geek heaven.
> http://thinkgeek.com/sf
> _______________________________________________
> NFS maillist  -  NFS@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/nfs
>=20


-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf
_______________________________________________
NFS maillist  -  NFS@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/nfs

^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2003-10-15  3:27 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2003-09-25 17:59 NFS/UDP slow read, lost fragments Robert L. Millner
2003-09-25 20:22 ` Brian Mancuso
2003-09-25 20:33 ` brianm
2003-09-25 21:44 ` Brian Mancuso
2003-09-25 23:31   ` Trond Myklebust
2003-09-26 21:07     ` Brian Mancuso
2003-09-27  5:02       ` Robert L. Millner
2003-10-14  1:20       ` Steve Dickson
2003-10-14 14:52         ` Trond Myklebust
2003-10-15  3:17           ` Steve Dickson
2003-10-15  3:27             ` Trond Myklebust
2003-09-25 20:11 Lever, Charles

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.