The default RPC requests configuration can negatively impact performance and memory. To avoid performance and memory issues, configure the number of outstanding RPC requests to the NFS server to be 128. The kernel tunable value
sunrpc.tcp_slot_table_entries represents the number of simultaneous Remote Procedure Call (RPC) requests. This tunable's default value is 16. Increasing this value to 128 may improve write speeds. Use the command
sysctl -w sunrpc.tcp_slot_table_entries=128 to set the value. Add an entry to your
sysctl.conf file to make the setting persist across reboots.
Perform the following steps as the root user on each NFS client machine:
Issue the following commands to create the
/etc/modprobe.dwith the recommended configuration. This enables the configuration to persist after a reboot of the NFS client machine.
Issue the following echo commands. This enables the configuration to take effect after you remount the NFS client to the NFS gateway.
Remount the NFS client to the NFS gateway.
For example, the following commands unmount and mount the NFS assuming that the cluster is mounted at
Mount the MapR NFS server with a rsize/wsize of 128K as this significantly cuts down NFS server requests for a given transfer and improves the overall performance.
- After the reboot of the node, if the
/proc/sys/sunrpcdirectory is not available or if
rpcidmapdis not running, start the
rpcidmapdservice using the following command:
service rpcidmapd start
ERROR nfsserver fs/nfsd/requesthandle.cc:791
0.0.0.0 cannot allocate more OncRpcContexts: [numDropped=2556001] dropping connection from nfsc=10.13.64.225:0
NFS write performance varies between different Linux distributions. This suggested change may have no effect, or even a negative effect on your particular cluster.