Skip to content

DLPX-76203 Remove the NFS connection limit #312

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Jul 26, 2021

Conversation

don-brady
Copy link
Contributor

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 for max_connections.
Note there is no nfs configuration for max_connections so the above is the best option for keeping it set persistently.

Copy link
Contributor

@sebroy sebroy left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Another thing to note on the testing side is that the performance team was able to easily demonstrate how hitting this connection limit would increase client-side I/O latencies due to the NFS client having to keep re-trying to establish connections in the context of trying to issue I/Os to the server.

@tonynguien tonynguien requested a review from jwk404 July 26, 2021 15:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

Successfully merging this pull request may close these issues.

4 participants