{"title": "\u9ad8\u5e76\u53d1\u7684rsync\u670d\u52a1\u5668", "update_time": "2014-02-07 23:14:32", "tags": "rsync", "pid": "269", "icon": "linux.png"}
今天有上千台服务器需要从我们的rsync源同步一个文件夹,结果发现pssh的并发开到30的时候rsync客户端开始报错。报错如下: >rsync: failed to connect to host: Connection refused (111) 这样的错误,看起来是rsync服务器拒绝链接了。但是我们的rsync服务是好的呀,有一些服务器也成功地rsync了,为什么有一部分服务器却报错了呢? 排查原因的过程中发现可能是xinetd导致的。分析如下: 1. 我们的rsync服务器是通过xinetd托管的,客户端在链接rsync服务的时候会首先连接xinetd。然后xinetd再启动rsync进程 2. xinetd将rsync请求转给rsync服务器的时候,会启动一个rsync的daemon进程,这个需要时间 3. xinetd的并发度有限,影响到rsync服务的并发 所以尝试着脱离xinetd的托管模式,直接以**daemon**的形式启动rsync服务。 ``` rsync --daemon -4 --config=/etc/rsyncd.conf --log-file /var/log/rsyncd.log ``` 实际测试的rsync服务端的并发大于300(pssh并发开到300未报错),极限值尚未测试。