SUMMARY: How to increase NFS Performance?

Per Foreby perf at efd.lth.se
Sat Mar 16 08:44:00 AEST 1991


Thanks for a lot of good advice. This is a summary of the responses, but
first my original posting:

------------------------------------------------------------------------------

What is the best thing I can do in order to increase NFS performance on
our central file server?

Facts:
-----
* Sun 3/280
* SunOs 4.1
* 8 Mb memory
* 5 Gb disk (6 disks on 2 xd753)
* Serves approx 100 clients with USER files (the clients have their
  root and swap on other servers)  
* Low write percentage (about 3%) (write + create + remove)
* CPU idle time > 50%
* Load average approx 5.

Possible solutions:
------------------

1. Upgrade to sun4 (4/380?)
   * Does this help when the cpu is idle most of the time?

2. Add more memory
   * Gives me more diskcache. 
   * Is there any way to list some stats for the cache? vmstat showes about
     250 K free list size, but does this include the disk cache, or can the
     free list borrow pages from the disk cache if it needs more?

3. Buy a Prestoserve
   * Is this really usefull when the write percentage is low?

------------------------------------------------------------------------------

Now, the summary of the solution. 000 meens free tuning, $$$ bying things.

$$$ Almost everyone meant that an upgrade to a Sun-4 would be a waste
    of money. First, use the available CPU better (by using some of
    the suggestions below).

$$$ Prestoserve is a write accelerator, hence it will help only
    marginally due to our low write percentage.

000 Spread the disk load evenly between the controllers and between
    the disks. (Check with `iostat' and `vmstat -i'.)

$$$ Add more controllers. The XD controllers can handle about 40
    transactions per second. Each disk can deliver about 25-30
    transactions per second. The rest is simple arithmetic...

$$$ Add more disks to spread seek and rotational delay times.

000 Add more nfsd's if you have the enough memory for them. Otherwise
    the exessive swapping and context switches can make things worse.
    (Check with `vmstat' or `iostat -c'.) Someone suggested 8 nfsd's
    per ethernet interface.

$$$ Add more memory. The general view seems to be that we need another
    4-8 Megs.

000 Add more inode buffers.

$$$ Buy an OMNI network card. It has its own CPU and cache and speeds
    up the network traffic.

000 Use tmpfs on the clients.

$$$ Buy an Auspex NS5000 or NS3000. It's a dedicated NFS file server
    with separate processors for ethernet, filesystem and disk I/O.

000 Get Hal Stern's paper `SunOs 4.1 Performance Tuning'. Availble
    from titan.rice.edu in /public/sunos-perf.uu and
    sunos-perf-slides.uu. GET IT, READ IT!

$$$ Redisign the network and use multiple ethernets. Some said this
    would slow things down.

$$$ There is a new software product called eNFS which is supposed to
    do some magic.

000 Don't run any aplications on the server.

000 Use the automounter. (We already do).

--Per Foreby; perf at efd.lth.se; LTH-E, Box 118, S-22100 LUND, Sweden; 046-107492



More information about the Comp.sys.sun mailing list