> CentOS > CentOS服务器 > 文件同步 >

搭建高并发rsync服务器

今天有上千台服务器需要从我们的rsync源同步一个文件夹,结果发现pssh的并发开到30的时候,rsync客户端开始报错.报错如下:
rsync: failed to connect to host: Connection refused (111)

这样的错误,看起来是rsync服务器拒绝链接了.但是我们的rsync服务是好的呀,有一些服务器也成功地rsync了,为什么有一部分服务器却报错了呢?

排查原因的过程中发现可能是xinetd导致的.分析如下:
我们的rsync服务器是通过xinetd托管的,客户端在链接rsync服务的时候会首先连接xinetd.然后xinetd再启动rsync进程
xinetd将rsync请求转给rsync服务器的时候,会启动一个rsync的daemon进程,这个需要时间
xinetd的并发度有限,影响到rsync服务的并发
所以尝试着脱离xinetd的托管模式,直接以daemon的形式启动rsync服务:
rsync --daemon -4 --config=/etc/rsyncd.conf --log-file /var/log/rsyncd.log

实际测试的rsync服务端的并发大于300(pssh并发开到300未报错),极限值尚未测试.

ps:http://www.opstool.com/article/269 (责任编辑:IT)