| rpcmod:svc_default_stksize
Description | Sets the size of the
kernel stack for kernel RPC service threads.
| Data Type | Integer (32-bit)
| Default | The default is 0, which
means set the stack size to the system default.
| Range | 0 to 231
- 1
| Units | Bytes
| Dynamic? | The stack size is set when
the thread is created. Therefore, changes to this parameter do not affect
existing threads but are applied to all new threads that are allocated.
| Validation | None
| When to Change | Possibly, very deep
call depths can cause the stack to overflow and cause red zone faults. The
combination of a fairly deep call depth for the transport, coupled with a
deep call depth for the local file system can cause NFS service threads to
overflow their stacks.
Set this parameter to a multiple of the hardware pagesize
on the platform.
| Stability Level | Evolving
|
rpcmod:svc_default_max_same_xprt
Description | Controls the maximum
number of requests that are processed for each transport endpoint before switching
transport endpoints. The kernel RPC works by having a pool of service threads
and a pool of transport endpoints. Any one of the service threads can process
requests from any one of the transport endpoints. For performance, multiple
requests on each transport endpoint are consumed before switching to a different
transport endpoint. This approach offers performance benefits while avoiding
starvation.
| Data Type | Integer (32-bit)
| Default | 8
| Range | 0 to 231
- 1
| Units | Requests
| Dynamic? | Yes, but the maximum number
of requests to process before switching transport endpoints is set when the
transport endpoint is configured into the kernel RPC subsystem. Changes to
this parameter only affect new transport endpoints, not existing ones.
| Validation | None
| When to Change | Tune this number
so that services can take advantage of client behaviors such as the clustering
that accelerate NFS version 2 WRITE requests. It is possible
that increasing this parameter results in the server being better able to
take advantage of client behaviors.
| Stability Level | Evolving
|
rpcmod:maxdupreqs
Description | Controls the size of
the duplicate request cache that detect RPC level retransmissions on connectionless
transports. This cache is indexed by the client network address and the RPC
procedure number, program number, version number, and the transaction ID.
This cache avoids processing of retransmitted requests that might be non-idempotent.
| Data Type | Integer (32-bit)
| Default | 1024
| Range | 1 to 231
- 1
| Units | Requests
| Dynamic? | The cache is dynamically
sized, but the hash queues that provide fast access to the cache are statically
sized. Making the cache very large might result in long search times to find
entries in the cache.
Do not set the value of this parameter to 0. It prevents the NFS server
from handling non-idempotent requests.
| Validation | None
| When to Change | Examine the value
of this parameter if false failures are being seen by NFS clients. For example,
if an attempt to create a directory fails, but the directory is actually created,
it is possible that a retransmitted MKDIR request was not
detected by the server.
The size of the cache should match the load on the server. The cache
records non-idempotent requests and so only needs to track a portion of the
total requests. It does need to hold the information long enough to be able
to detect a retransmission on the part of the client. Typically, the client
timeout for connectionless transports is relatively short, starting at about
1 second and increasing to about 20 seconds.
| Stability Level | Unstable
|
rpcmod:cotsmaxdupreqs
Description | Controls the size of
the duplicate request cache that detects RPC level retransmissions on connection
oriented transports. This cache is indexed by the client network address and
the RPC procedure number, program number, version number, and the transaction
ID. This cache avoids processing of retransmitted requests that might be non-idempotent.
| Data Type | Integer (32-bit)
| Default | 1024
| Range | 1 to 231
- 1
| Units | Requests
| Dynamic? | Yes
| Validation | The cache is dynamically
sized, but the hash queues that provide fast access to the cache are statically
sized. Making the cache very large might result in long search times to find
entries in the cache.
Do not set the value of this parameter to 0. It prevents the NFS server
from handling non-idempotent requests.
| When to Change | Examine the value
of this parameter if false failures are being seen by NFS clients. For example,
if an attempt to create a directory fails, but the directory is actually created,
it is possible that a retransmitted MKDIR request was not
detected by the server.
The size of the cache should match the load on the server. The cache
records non-idempotent requests and so only needs to track a portion of the
total requests. It does need to hold the information long enough to be able
to detect a retransmission on the part of the client. Typically, the client
timeout for connection oriented transports is very long, about 1 minute. Thus,
entries need to stay in the cache for fairly long times.
| Stability Level | Unstable
|
| |