NFS Performance Tuning for HP-UX 11.0 and 11i Systems
nfs performance tuning for hp-ux 11.0 and 11i systems page 33
Notes:
Page 33July 22, 2002
Copyright 2002 Hewlett- Packard Company
How do they work in the READ case?
1. Process checks buffer cache. If data is present it’s read from cache.
2. If data is not in the cache the process makes the initial NFS READ
call and sleeps waiting for the data to arrive from the NFS server.
3. When the data arrives it is placed in client’s buffer cache. The
sleeping process is awoken and reads from the cache.
4. If the process continues reading sequentially and biods are running,
the biods issue NFS READ calls to retrieve sequential data and
populate the client’s buffer cache on behalf of the reading process.
biod
GOAL: Keep the client’s buffer cache populated with data and
avoid having the client block waiting for data from the server
When the client needs to read data from an NFS mounted file, the client will first
check its local buffer cache to see if the block of data is present in the cache. If it
is then the read is satisfied without generating an NFS request. If the data is not
present then an NFS READ call will be made to retrieve this data. If no biods are
running then the process requesting the data will generate the NFS read call in its
own process context.
If biod daemons are present then the client process will send the initial read request
in its own context and then block to allow future read requests to be handled by the
biods. Once the biods retrieve the data from the server, the data is staged in the
client’s buffer cache and the blocking process is notified that the data is available.
In addition, several more sequential read requests will be made on behalf of the
process by the biods in the hopes of populating the client’s buffer cache with the
data that the reading process will be wanting next. Therefore, the goal of the
biods in the read case is to keep the client’s buffer cache populated with the data
that the reading processes need and avoid having those processes block waiting
for the data to be retrieved from the NFS server.