On Tue, Jun 21, 2016 at 8:04 PM, Per Jessen
I have a new rsync server that is part of a mirror network. Every hour it is hit by an apparently slight surge in the number of clients, but most of the time there is nothing to download. When this happens I see $SUBJ in the log. I've googled it quite a bit to understand the meaning, but I'm not sure I'm really getting anywhere :-)
I guess the kernel starts sending cookies when certain conditions are met, possibly the length of tcp_max_syn_backlog ? I have increased it from the default 512 to 16384 (step-wise), but it doesn't seem to have had much effect.
I've also measured the number of connections on port 873 in state SYN_RECV (netstat -ant | grep 873.*SYN_RECV), but checking that every second only showed up to 20 clients.
The box isn't overly potent, but should easily handle e.g. 100 concurrent rsync clients, especially when there's no data to sync.
What I'd like to understand -
a) what does it mean when the kernel say $SUBJ,
The number of pending connection requests exceeds socket backlog
b) what are the criteria for (a),
backlog is set by listen() call. Max value is clamped by both net.core.somaxconn and net.ipv4.tcp_max_syn_backlog, whatever is smaller.
c) am I loosing clients when it does, and
If you get these messages you are probably not losing them.
d) what can I do to prevent it?
Increase rsycnd backlog? listen backlog You can override the default backlog value when the daemon listens for connections. It defaults to 5. -- To unsubscribe, e-mail: opensuse+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse+owner@opensuse.org