DLPX-76203 Remove the NFS connection limit #312
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Context/Problem:
NFS connections are currently limited to a maximum of 1,340 connections. This arbitrary limit is calculated based on the maximum number of NFSD threads (currently 64). Note that on illumos, the maximum number of connections was unlimited by default. With the use of dNFS, we can bump up against this limit which subsequently can have a negative impact on NFS performance.
Solution:
Ideally we should not have to rely on increasing the number of NFSD threads in order to allow for more connections. So instead, we can set the connection limit to be independent of the NFS thread limit by using the NFSD tunable max_connections.
Testing
ab-pre-push: http://selfservice.jenkins.delphix.com/job/devops-gate/job/master/job/appliance-build-orchestrator-pre-push/5772/
Checked the image from the ab pre push to confirm that
max_connections
is set whenever the nfs-server is starts up.Implementation:
Uses an override to the
nfs-server
service to set the NFSD procfs variable formax_connections
.Note there is no nfs configuration for
max_connections
so the above is the best option for keeping it set persistently.