NFS Performance Tuning for HP-UX 11.0 and 11i Systems
nfs performance tuning for hp-ux 11.0 and 11i systems page 108
Notes:
Page 108July 22, 2002
Copyright 2002 Hewlett- Packard Company
buffer
cache
Why not just configure lots of
memory for buffer cache?
• A large cache does not guarantee a high cache hit-rate
• Memory wasted that could be better used by the system
• 11.0 client performance suffers using a large cache
Difference between 11.0 and 11i
The buffer cache management routines have been enhanced in 11i to
track the buffer cache pages on a per-file basis. When a file needs to
be invalidated on an 11i NFS client, the kernel simply invalidates the
buffers in the clean and dirty lists associated with the file rather than
walking the entire cache looking for pages associated with the file.
A large cache does not guarantee a high cache hit rate
The buffer cache can only satisfy an NFS read request if the data is present in
the cache, which would imply that it had been retrieved from the server prior to
the client process requesting it. Since biods pre-fetch sequential data, if the
client is reading non-sequentially there is a strong probability that the data will
not be resident in the cache, regardless of how big the buffer cache is.
Memory wasted that could be better used by the system
By reserving physical memory for buffer cache (particularly in the static
configuration, where the memory is reserved at boot time), you are effectively
removing this memory from the pool available for user-space processes.
11.0 client performance suffers using a large buffer cache
The most compelling reason to not use a large buffer cache on an 11.0 NFS
client is that doing so will actually result in much worse performance than using
a smaller cache. This is because buffer cache pages are not tracked on a file-
by-file basis in 11.0, forcing the kernel to perform a linear search of the entire
cache when it needs to invalidate a file. An example is provided on page 14.