kern/79214: iozone hurts tcp-based NFS

Eli dart dart at nersc.gov
Thu Mar 24 14:30:03 PST 2005


>Number:         79214
>Category:       kern
>Synopsis:       iozone hurts tcp-based NFS
>Confidential:   no
>Severity:       serious
>Priority:       high
>Responsible:    freebsd-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Thu Mar 24 22:30:02 GMT 2005
>Closed-Date:
>Last-Modified:
>Originator:     Eli dart
>Release:        FreeBSD 5.4-PRERELEASE i386
>Organization:
NERSC
>Environment:
System: FreeBSD omega.nersc.gov 5.4-PRERELEASE FreeBSD 5.4-PRERELEASE #0: Mon Mar 21 10:48:01 PST 2005 nickb at omega.nersc.gov:/usr/obj/usr/src/sys/OMEGA-STABLE-SMP i386

>Description:

iozone causes NFS server problems when using TCP-based NFS:

Mar 23 17:10:49 epsilon-new nfs server omega-nfs1:/data/flow: not responding
Mar 23 17:10:49 epsilon-new nfs send error 35 for server omega-nfs1:/data/flow
Mar 23 17:10:49 epsilon-new nfs server omega-nfs1:/data/syslog: not responding
Mar 23 17:10:49 epsilon-new nfs send error 35 for server omega-nfs1:/data/flow
Mar 23 17:10:49 epsilon-new nfs send error 35 for server omega-nfs1:/data/flow
Mar 23 17:10:49 epsilon-new nfs send error 35 for server omega-nfs1:/data/flow
Mar 23 17:10:49 epsilon-new nfs server omega-nfs1:/data/syslog: is alive again
Mar 23 17:10:49 epsilon-new nfs server omega-nfs1:/data/flow: is alive again
Mar 23 17:10:49 epsilon-new nfs server omega-nfs1:/data/flow: is alive again
Mar 23 17:10:49 epsilon-new nfs server omega-nfs1:/data/flow: not responding
Mar 23 17:10:49 epsilon-new nfs server omega-nfs1:/data/flow: not responding
Mar 23 17:10:49 epsilon-new nfs server omega-nfs1:/data/flow: is alive again

>How-To-Repeat:

client and server are connected via back-to-back em interfaces
(crossover cable, no switch).

em driver modified to increase transmit and receive descriptor counts.
Chipset version supports this.
#define EM_MAX_TXD                      4096
#define EM_MAX_RXD                      4096


set up NFS as follows:

===== client /etc/fstab =====
omega-nfs1:/data/flow   /data/flow      nfs     rw,nodev,noexec,nosuid,noinet6,nfsv3,intr,-
U,-b,-r=32768,-w=65535  0       0

===== Server config =====
# nfs
rpcbind_enable="YES"
rpcbind_flags="-h ${nfs_addr1} -h ${nfs_addr2}"
rpc_lockd_enable="YES"
rpc_statd_enable="YES"
nfs_server_enable="YES"
nfs_server_flags="-t -n 8 -h ${nfs_addr1} -h ${nfs_addr2}"
mountd_enable="YES"

===== /etc/exports =====
/data/flow -maproot=nfsnobody:nogroup client-host

Run iozone on client as follows:
iozone 2048 32768 /data/flow/iozone/crunch

iozone version is 2.01

>Fix:

Use UDP for NFS.

>Release-Note:
>Audit-Trail:
>Unformatted:


More information about the freebsd-bugs mailing list