测试环境

1.1服务器硬件信息

1.2 服务器软件信息

1.3 Rsync所能够支持的功能

(1)支持断点续传

(2)支持使用ssh传输加密

(3)支持128位MD4校验(3.0以后版本使用MD5加密)

(4)支持镜像

(5)支持限速

(6)支持目录层级递归拷贝

1.4常用Rsync参数详解

-a, --archive

It is a quick way of saying you want recursion and want to preserve almost everything.

-r, --recursive

This tells rsync to copy directories recursively.

-t, --times

This tells rsync to transfer modification times along with the files and update them on the remote system

-u, --update

This forces rsync to skip any files for which the destination file already exists and has a date later than the source file

-z, --compress

With this option, rsync compresses any data from the files that it sends to the destination machine

-P

断点续传 详细显示传输过程(传输进度)

-c, --checksum

This forces the sender to checksum all files using a 128-bit MD4 checksum before transfer

-n, --dry-run

This tells rsync to not do any file transfers, instead it will just report the actions it would have taken.

--delete

This tells rsync to delete any files on the receiving side that aren't on the sending side

--bwlimit=KBPS

This option allows you to specify a maximum transfer rate in kilobytes per second

--protocol

(隐藏参数)

选择传输时使用的TCP/IP协议字段号

-B

--block-size=SIZE checksum blocking size (default 700)

1.5服务器逻辑

两台服务器相邻,在同一个机房

1.6 rsync server模式配置

1、目标主机(DST)设置:

(1)添加rsyncd.conf配置文件

cat>/etc/rsyncd.conf<<EOF

uid=root

gid=root

secrets file = /etc/rsyncd.secrets

max connections=36000

use chroot=no

log file=/var/log/rsyncd.log

pid file=/var/run/rsyncd.pid

lock file=/var/run/rsyncd.lock

[rsyncDST]

path=/home/work/rsyncDST/share/1/0/

comment = rsync test

ignore errors = no

read only = no

hosts allow =10.0.101.241

hosts deny = *

EOF

(2)配置rsync.secrets认证文件

cat>/etc/rsyncd.secrets<<EOF

rsync:123456

EOF

(3)修改rsync.secrets认证文件权限

chmod 600 /etc/rsyncd.secrets

(4)启动rsync server

/usr/local/rsync/bin/rsync --daemon

Rsync传输测试

2.1初始化

(1)将两台机器加入监控

(2)将两台服务器建立SSH信任关系

2.2 传输压缩测试

1、SSH隧道加密传输,启用压缩,不启用数据校验

2、SSH隧道加密传输,未启用压缩,不启用数据校验

3、数据分析:

Rsync在传输时,不启用压缩,比启用压缩要快将近10倍

压缩使用的场合:低带宽,或对带宽有要求。传输文件压缩比率大

非压缩适用的场合:带宽充足,传输文件比较大,传输文件压缩比率小

建议不启用压缩

2.3 传输数据校验测试

1、SSH隧道加密传输,未启用压缩,不启用数据校验

2、SSH隧道加密传输,未启用压缩,启用数据校验

3、数据分析:

Rsync在传输时,启用数据校验,比不启用数据校验多耗时30%

文件校验使用的场合:对文件完整性要求高

非文件校验适用的场合:对文件完整性要求低

建议使用文件校验

2.4 传输方式测试

1、SSH隧道加密传输,未启用压缩,启用数据校验

2、rsync server传输,未启用压缩,启用数据校验

3、数据分析:

SSH隧道传输,速度比rsync server要快,但CPU资源消耗比较高,加密耗时较多

SSH隧道传输适用的场合:安全性要求比较高,对CPU资源消耗要求低

rsync server适用的场合:对安全性要求比较低,对CPU资源消耗要求高。

建议使用SSH加密隧道模式传输

2.5 其他影响传输速度的因素

1、SSH加密算法影响文件传输速度

注:以上文件传输测试过程中未启用压缩,未启用数据校验

使用SSH加密隧道传输时,如果希望数据传输较快,建议使用arcfour弱加密算法

2、修改TCP/IP协议字段,--protocol=29

(1)SSH隧道加密传输,未启用压缩,启用数据校验,不修改TCP/IP协议字段

(2)SSH隧道加密传输,未启用压缩,启用数据校验,修改TCP/IP协议字段为29

(3)数据分析:

修改TCP/IP协议字段,传输速度有了明显的提升。但是由于使用SSH加密隧道,程序运行耗时依旧很多。

建议修改TCP/IP协议字段为29

附: TCP/IP协议字段号

3、其他

rsync server模式,未启用压缩,启用数据校验,修改TCP/IP协议字段为29。

传输平均速度在120MB/S以上。传输耗时3m2.584s

rsync server模式,未启用压缩,未启用数据校验,修改TCP/IP协议字段为29。

传输平均速度在122MB/S以上。传输耗时2m14.185s

测试过程中,调节—block-size参数等于512,可以缩短checksum时间,总传输时间可节省大概3s左右

结 

根据当前生产环境,以及测试数据,我得出的结论如下:

1、 如果对数据安全性要求低,建议选择rsync server模式,未启用压缩,启用数据校验,修改TCP/IP协议字段号为29。

2、 如果对数据安全性要求高,建议选择SSH隧道加密传输,arcfour弱加密算法,未启用压缩,启用数据校验,修改TCP/IP协议字段号为29

3、 如果是第一次推送数据,建议加上-W参数,意思是不检查文件更新,直接传送整个文件,这样可以减少文件检测时间,节省程序总运行时间。

4、 如果想进一步节省程序运行时间,可在使用checksum的同时,加上—block-size=512这个参数(默认是700)。数值建议是500以上,并且是2的N次方,最大不超过2048。推荐512,1024,2048这三个值。

5、 在传输数据时,为了不影响线上正常业务,建议根据线上实际情况,通过—bwlimit=KPBS参数对带宽进行限制

rsync传输性能测试总结 转的更多相关文章

  1. 蓝牙BLE传输性能及延迟分析

    BLE传输性能主要受以下几个因素影响:操作类型,Connection Interval,每个Connection Event内发送的帧数.每一帧数据的长度.具体参见如下链接: https://devz ...

  2. JMeter基于http请求的web接口性能测试总结

    [本文出自天外归云的博客园] 基于http请求的web接口性能测试总结 压测的目的:对于Web接口压测的目的最终是要在对数据库造成压力的情况下观察压测服务器的cpu是否达到预警值.memory是否发生 ...

  3. web性能优化-网络传输性能优化

    浏览器工作原理:https://www.cnblogs.com/thonrt/p/10008220.html 浏览器渲染原理: https://www.cnblogs.com/thonrt/p/100 ...

  4. 【性能测试】性能测试总结<四>

    性能测试常见指标        性能测试说白了就是通过工具模拟多个用户对被测系统进行访问.然后查看系统对于多个用户发来请求的处理能力. 左边的两个小人表示两个用户,向右边服务器发送请求,然后得到服务器 ...

  5. fswatch rsync配置使用 rsync 传输大量细小文件

    贴一个脚本这个脚本是rsync远程同步使用的一个脚本 rsync -avz --progress --exclude .git /Users/piperck/Desktop/gogogo/x pipe ...

  6. Rsync 传输不需要输入密码

    1.背景 1)        一个作为服务器端:VM3(IP: 3.9.8.151) 2)        一个作为客户端:VM2(IP: 3.9.8.157) 3)        服务器端和客户端网络 ...

  7. web平台大数据请求传输性能处理

    在XMLHttpRequest请求中使用ArrayBuffer方式,和后端服务器进行二进制的传输交互. 在项目中发现随着用户增长,部分前端功能,请求的数据量越来越大,传统的josn的方式,在下载.序列 ...

  8. jmeter性能测试总结

    一.性能测试问题记录: Ⅰ.秒杀的失败率了在96.45%,原因 Query对于 活动的秒杀采用的是0.5秒,刷新缓存的策略在活动中优惠券被秒杀一空 下架前,短暂的时间内仍能够查询到 这个活动架构中采用 ...

  9. 【性能测试】性能测试总结<三>

    常见性能测试工具: 性能测试工具,从理论上来讲在性能测试过程中使用到的所有工具都可以称其为性能测试工具,通常分为以下几类: 说明: 服务器端性能测试工具:需要支持产生压力和负载,录制和生成脚本,设置和 ...

随机推荐

  1. Html - 404页面

    <!DOCTYPE HTML> <html lang="en-US"> <head> <meta charset="UTF-8& ...

  2. Web 在线文件管理器学习笔记与总结(1)初始文件以及获取首层目录信息

    在线文件管理器即使用浏览器管理和操作项目中的目录和文件 文件相关操作包括: 1.创建文件 2.判断文件的权限 3.文件的大小 4.文件的创建时间.修改时间.访问时间 5.查看文件的内容 6.修改文件的 ...

  3. 我的Ubuntu系统配置所作的备份记录如下

    Ubuntu无法关机解决办法 说明:如果不成功请参考一下文章最后的内容,也许会有帮助. 其实不止在ubuntu里面,fedora里面我也遇到了这个问题,就是电脑可以重启,但是不能直接关机,否则就一直停 ...

  4. data abstractions 数据抽象

    Computer Science An Overview _J. Glenn Brookshear _11th Edition In this chapter we investigate how d ...

  5. maven 添加本地jar

    方式一 Xml代码 <dependency> <groupId>org.apache</groupId> <artifactId>test</ar ...

  6. 图算法(一)——基本图算法(BFS,DFS及其应用)(2)

    2)DFS 深度优先搜索总是对最近发现的节点v的出发边进行搜索,直到该节点的所有出发边都被发现 一旦节点v的所有出发边都被发现,搜索回溯到v的前驱结点进行 实现细节:时间戳 每一个结点有一个发现时间和 ...

  7. Qt拖拽界面 (*.ui) 缩放问题及解决办法(在最顶层放一个Layout)

    问题 使用Qt Designer 设计的界面,在缩放的时候不能随着主窗口一起缩放. 解决办法 之前遇到这个问题的时候,都是直接重写resizeEvent接口来实现的,在自动生成的Ui_Widget或U ...

  8. android部分机型(HTC D610) menu键的显示问题

    今天遇到了一个很恶心的问题... htc某些机器的menu键是在屏幕里的,可以由系统控制显示和隐藏.今天遇到了一个问题,有两个应用,一个运行后显示menu键,另一个不显示... 找了好一会儿,发现是  ...

  9. css实现三角箭头

    像下面的向右三角箭头,只有纯css不需要图片就可以实现了. width:0px;height:0px;border-width:0px 16px 20px 16px; border-style:sol ...

  10. Magento: How to reset admin pssword

    Magento: How to reset admin pssword If you forget your admin password for Magento and you can’t reme ...