Date: Thu, 7 Dec 2000 20:37:50 -0800 From: Guolin Cheng <Guolin@alexa.com> To: "'freebsd-questions@FreeBSD.ORG'" <freebsd-questions@FreeBSD.ORG> Subject: How to improve FreeBSD nfs performance? and please explain the k ernel parameters. Message-ID: <2A2825AC1334D411A922005004E0CD203F2BEB@exchange.alexa.com>
next in thread | raw e-mail | index | archive | help
Hi, all, These days I encountered a nfs performance problem, Basically we use Intel machines with 512M memory, Intel Pro100M Ethernet network interfaces and HP switches, But we find that the performance is too bad: This is the performance test,. write from nfs client to nfs server mounted through amd ("nfsiod -n 4" and "nfsd -t -u -n 16" are running to improve performance already): nfs server: nfs client: transfer speed (Mega bytes) FreeBSD 4.1 FreeBSD 4.1 2-4 M FreeBSD 4.1 RedHat Linux 6.2 5-7 M Linux 6.2 Linux 6.2 10+ M So it's really terrible, because I like FreeBSD and we install a lot of FreeBSD boxes. So I tried to change nfs sync-write method, which is default for FreeBSD, try to use async method, (sysctl -w vfs.nfs.async=1 ; sysctl -w vfs.nfs.gatherdelay=0 ) and test the performance again, and the performance is improved a lot nfs server: nfs client: transfer speed (Mega bytes) FreeBSD 4.1 FreeBSD 4.1 7-10 M This is a good nfs performance, But I'm also concerned about the reliabity and correctness of data, since write-behind is enabled (async write). Anyone can show me if this is really terrible? From my test these 3 days, I found that it is ok, no data lost at all. Also, any one can do me a favor to explain the functions of the following kernel parameters and their possible values? 1. vfs.nfs.commit_blks 2. vfs.nfs.commit_miss 3. vfs.nfs.realign_test 4. vfs.nfs.realign_count 5. vfs.nfs.bufpackets 6. vfs.nfs.gatherdelay 7. vfs.nfs.gatherdelay_v3 8. vfs.nfs.defect 9 . vfs.nfs.access_cache_timeout 10. vfs.nfs.nfsv3_commit_on_close The following are collected on my test machine: ops-test.alexa.com guolin 133% sysctl -a | grep nfs vfs.nfs.nfs_privport: 0 vfs.nfs.async: 0 vfs.nfs.commit_blks: 34050 vfs.nfs.commit_miss: 19404 vfs.nfs.realign_test: 401468 vfs.nfs.realign_count: 0 vfs.nfs.bufpackets: 0 vfs.nfs.gatherdelay: 0 vfs.nfs.gatherdelay_v3: 0 vfs.nfs.defect: 0 vfs.nfs.diskless_valid: 0 vfs.nfs.diskless_rootpath: vfs.nfs.diskless_swappath: vfs.nfs.access_cache_timeout: 2 vfs.nfs.nfsv3_commit_on_close: 0 ops-test.alexa.com guolin 134% nfsstat -c Client Info: Rpc Counts: Getattr Setattr Lookup Readlink Read Write Create Remove 193672 38 95314 53 73 24454 17 32 Rename Link Symlink Mkdir Rmdir Readdir RdirPlus Access 0 16 0 0 0 2844 0 2073 Mknod Fsstat Fsinfo PathConf Commit GLease Vacate Evict 0 1994 560 0 1505 0 0 0 Rpc Info: TimedOut Invalid X Replies Retries Requests 0 0 1 693 322645 Cache Info: Attr Hits Misses Lkup Hits Misses BioR Hits Misses BioW Hits Misses 103198 195218 97904 95314 691 73 3931 24454 BioRLHits Misses BioD Hits Misses DirE Hits Misses 96444 53 620 2844 613 0 ops-test.alexa.com guolin 135% !!!!!!!!!!!!!!!!!! why there are so many misses? for nfs client cashes? !!!!!!!!!!!!!!!!!! ops-test2.alexa.com guolin 141% nfsstat -s Server Info: Getattr Setattr Lookup Readlink Read Write Create Remove 0 5 19 2 0 73248 1 1 Rename Link Symlink Mkdir Rmdir Readdir RdirPlus Access 0 0 1 1 0 2 0 29 Mknod Fsstat Fsinfo PathConf Commit GLease Vacate Evict 0 3 1 0 4388 0 0 0 Server Ret-Failed 6 Server Faults 0 Server Cache Stats: Inprog Idem Non-idem Misses 0 0 0 1163 Server Lease Stats: Leases PeakL GLeases 0 0 0 Server Write Gathering: WriteOps WriteRPC Opsaved 73248 73248 0 ops-test2.alexa.com guolin 142% !!!!!!!!!!!!! why the value of WriteOps and WriteRPC are equal? !!!!!!!!!!!!!!!!!!!!!!!!!! Thanks. To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-questions" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?2A2825AC1334D411A922005004E0CD203F2BEB>