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
Tuning unit file for medium sized setups #4958
Conversation
We would propose to introduce the TasksMax setting in the unit file. The default value of 512 seems too low, at least for our setup. In addition, if present in the unit file, people will be aware of it. LimitNOFILE seems also a little bit low. Our setup consists of 8 DNS backend servers. Each Server with 5 IPv4 and 5 IPv6 addresses. That means dnsdist has to deal with 80 backends. For this setup TasksMax=512 (default) was too low and dnsdist stopped working correctly. We saw many of these messages: Error creating a TCP thread: Resource temporarily unavailable Had an error accepting new webserver connection: Resource temporarily unavailable
Hi Winfried, thank you for this PR! The |
It looks like |
Yes indeed, it came up here with SLES12-SP2 |
We could have m4/systemd.m4 detect the version of systemd through pkg-config (e.g. PKG_CHECK_MODULES that sets an |
From SYSTEMD.UNIT(5) |
Indeed:
|
https://www.freedesktop.org/software/systemd/man/systemd-system.conf.html#DefaultTasksMax= suggests than on recent distributions the default value is 4915. I don't think we should lower that value, so how about defaulting to 8192? |
For our setup I can say, we started dnsdist a week ago and the number of tasks was at ~250. Afterwards it increases from time to time.
Now after a week it looks like this:
I'm curious if that stops at some point. |
We have three kinds of dynamically started threads:
The first two are unbounded but the number of TCP worker threads can only grow up to |
Looks good, but if you don't mind I'd rather have |
Yes that's fine, thanks! |
Short description
We would propose to introduce the
TasksMax
setting in the unit file. The default value of 512 seems too low, at least for our setup. In addition, if present in the unit file, people will be aware of it.LimitNOFILE=4096
seems also a little bit low.Our setup consists of 8 DNS backend servers. Each Server with 5 IPv4 and 5 IPv6 addresses. That means dnsdist has to deal with 80 backends. For this setup
TasksMax=512
(default) was too low and dnsdist stopped working correctly. We saw many of these messages:Checklist
I have: