lamaster@ames.arc.nasa.gov (Hugh LaMaster) (10/04/89)
Why does "find" thrash NFS servers? Is there anything that can be done about it? I have observed it on a wide variety of machines and situations, but I don't know the cause or cure, if any. If you haven't tried it, run a performance monitor on a server, go to a client, and find something in /usr say or whatever is mounted on the server. I have seen load averages as high as 35 and 90% in system state on a 2 MIPS Sun server - 4 nfs daemons, Xylogics 753/ Imprimis SMD-E drives. I have also seen this effect on Ultrix. Hugh LaMaster, m/s 233-9, UUCP ames!lamaster NASA Ames Research Center ARPA lamaster@ames.arc.nasa.gov Moffett Field, CA 94035 Phone: (415)694-6117
jim@cs.strath.ac.uk (Jim Reid) (10/04/89)
In article <32961@ames.arc.nasa.gov> lamaster@ames.arc.nasa.gov (Hugh LaMaster) writes: >Why does "find" thrash NFS servers? Is there anything that can be done >about it? Any recursive traverse of a remote file system will place a high load on the server. The client has to make an NFS get file attributes request for every file/directory it encounters. Find causes lots of these requests to get generated. Servicing the requests places a high load on the server. A UNIX NFS server handles these requests at interrupt time and they can take a bit of time to process. If the requests arrive from clients at a sustained high rate (i.e. as a client ploughs through a remote filesystem), most of the CPU time will be given over to NFS service, leaving little for anyone else. The best answer is to stop find from wandering into a remote filesystem. Most NFS implementations have a find command that understands a -fstype option (or others like -mountstop) to help this. The same problem arises from other recursive traverses: du and ls -R spring to mind. Jim