|
|
|
|
|
rpcmod Module Parameters
This section describes NFS parameters for the rpcmod module.
rpcmod:clnt_max_conns
- Description
Controls the number of TCP connections that the NFS client uses when communicating with each NFS server. The kernel RPC is constructed so that it can multiplex RPCs over a single connection. However, multiple connections can be used, if preferred.
- Data Type
Integer (32-bit)
- Default
1
- Range
1 to 231 - 1
- Units
Connections
- Dynamic?
Yes
- Validation
None
- When to Change
In general, one connection is sufficient to achieve full network bandwidth. However, if TCP cannot utilize the bandwidth offered by the network in a single stream, then multiple connections might increase the throughput between the client and the server. Increasing the number of connections doesn't come without consequences. Increasing the number of connections also increases kernel resource usage needed to keep track of each connection.
- Commitment Level
Unstable
rpcmod:clnt_idle_timeout
- Description
Controls the duration of time on the client that a connection between the client and server is allowed to remain idle before being closed.
- Data Type
Long integer (32 bits on 32-bit platforms and 64 bits on 64-bit platforms)
- Default
300,000 milliseconds (5 minutes)
- Range
0 to 231 - 1 on 32-bit platforms 0 to 263 - 1 on 64-bit platforms
- Units
Milliseconds
- Dynamic?
Yes
- Validation
None
- When to Change
Use this parameter to change the time that idle connections are allowed to exist on the client before being closed. You might might want to close connections at a faster rate to avoid consuming system resources.
- Commitment Level
Unstable
rpcmod:svc_idle_timeout
- Description
Controls the duration of time on the server that a connection between the client and server is allowed to remain idle before being closed.
- Data Type
Long integer (32 bits on 32-bit platforms and 64 bits on 64-bit platforms)
- Default
360,000 milliseconds (6 minutes)
- Range
0 to 231 - 1 on 32-bit platforms 0 to 263 - 1 on 64-bit platforms
- Units
Milliseconds
- Dynamic?
Yes
- Validation
None
- When to Change
Use this parameter to change the time that idle connections are allowed to exist on the server before being closed. You might want to close connections at a faster rate to avoid consuming system resources.
- Commitment Level
Unstable
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 value is 0. This value means that the stack size is set to the system default.
- Range
0 to 231 - 1
- Units
Bytes
- Dynamic?
Yes, for all new threads that are allocated. 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
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.
- Commitment Level
Unstable
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 transport endpoints.
- Validation
None
- When to Change
Tune this parameter so that services can take advantage of client behaviors such as the clustering that accelerate NFS version 2 WRITE requests. Increasing this parameter might result in the server being better able to take advantage of client behaviors.
- Commitment Level
Unstable
rpcmod:maxdupreqs
- Description
Controls the size of the duplicate request cache that detects 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 transaction ID. This cache avoids processing retransmitted requests that might not be 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. This value prevents the NFS server from handling non idempotent requests.
- Validation
None
- When to Change
Examine the value of this parameter if false failures are encountered by NFS clients. For example, if an attempt to create a directory fails, but the directory is actually created, perhaps that 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. The cache does need to hold the information long enough to be able to detect a retransmission by the client. Typically, the client timeout for connectionless transports is relatively short, starting around 1 second and increasing to about 20 seconds.
- Commitment 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 transaction ID. This cache avoids processing retransmitted requests that might not be 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 encountered 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.
- Commitment Level
Unstable
|
|
|
|
|