<div dir="ltr">I strongly prefer to configure rsyncd with a module per disk:<div><br></div><div><a href="https://github.com/openstack/swift/blob/c0640f87107d84d262c20bdc1250b805ae8f9482/etc/rsyncd.conf-sample#L25">https://github.com/openstack/swift/blob/c0640f87107d84d262c20bdc1250b805ae8f9482/etc/rsyncd.conf-sample#L25</a><br></div><div><br></div><div>and then tune the per-disk connection limit to 2-4</div><div><br></div><div>There's not really hard and fast rule, in some sense it's related to replicator concurrency (the producer of the rsync's that *want* those connections) - targeting roughly:</div><div><br></div><div>   replicator-concurrency * #nodes ~== (max_conenction * nodes or max_connection_per_module_per_disk * #disks)</div><div><br></div><div>But max connections is about enforcing a sane limit, if you hit that limit *a lot* it may be limiting throughput (and can lead to other inefficiencies).  But having a few max connections fire now and again is probably a good thing, since there's no guarantee that every replicator coro in the cluster might not be thinking it should be talking to a partition that just so happen to all have a replica on this one disk at this one time.  You generally don't want too many connections hammering a single spindle because of the await it introduces for client requests that might need to hit that disk (but there's auditor configuration management as well, and the new ionice options for tuning might be an option as well).</div><div><br></div><div>-Clay</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Dec 13, 2016 at 3:11 PM, Mark Kirkwood <span dir="ltr"><<a href="mailto:mark.kirkwood@catalyst.net.nz" target="_blank">mark.kirkwood@catalyst.net.nz</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Any thoughts on this one guys?<div class="HOEnZb"><div class="h5"><br>
<br>
<br>
On 06/12/16 09:56, Mark Kirkwood wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Hi,<br>
<br>
Is there a way to calculate rsync max connection (i.e based on number of hosts, devices, object server workers etc)?<br>
<br>
Some context: we have recently gone live with Swift 2.7.0 cluster (2 regions, 6 hosts overall, each with 16 cores/32 threads and 4 drives). We have rsync max connections to 25 (which I think is being set by puppet-swift.., is the default value). We are seeing errors in the rsync log: 'max connections (25) reached'. I'd like to be able to say to the operations guys: set 'max connections to x, because <some rules for calculating it>'.<br>
<br>
<br>
Cheers<br>
<br>
<br>
Mark<br>
<br>
<br>
______________________________<wbr>_________________<br>
Mailing list: <a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack" rel="noreferrer" target="_blank">http://lists.openstack.org/cgi<wbr>-bin/mailman/listinfo/openstac<wbr>k</a><br>
Post to     : <a href="mailto:openstack@lists.openstack.org" target="_blank">openstack@lists.openstack.org</a><br>
Unsubscribe : <a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack" rel="noreferrer" target="_blank">http://lists.openstack.org/cgi<wbr>-bin/mailman/listinfo/openstac<wbr>k</a><br>
</blockquote>
<br>
<br>
______________________________<wbr>_________________<br>
Mailing list: <a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack" rel="noreferrer" target="_blank">http://lists.openstack.org/cgi<wbr>-bin/mailman/listinfo/openstac<wbr>k</a><br>
Post to     : <a href="mailto:openstack@lists.openstack.org" target="_blank">openstack@lists.openstack.org</a><br>
Unsubscribe : <a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack" rel="noreferrer" target="_blank">http://lists.openstack.org/cgi<wbr>-bin/mailman/listinfo/openstac<wbr>k</a><br>
</div></div></blockquote></div><br></div>