测试环境

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. hadoop MapReduce 笔记

    1.        MapReduce程序开发步骤 编写map 和 reduce 程序–> 单元测试 -> 编写驱动程序进行验证-> 本地数据集调试 ->  部署到集群运行 用 ...

  2. css 细节收集

    细节1……………………………………………………………………………… 一.当文字与图片在一行,需要将文字与图片底对齐,需要这样写: <li>记住密码<img src="&qu ...

  3. 前端网址收集!Amazing! 神奇!

    (1)Bootstrap中文网 http://www.bootcss.com/ (2)前端编码规范 http://codeguide.bootcss.com/ (3)bootstrap可视化布局+下载 ...

  4. MarkDown编辑器用法

    代码行1 var s = "JavaScript syntax highlighting"; alert(s); 代码行2:ESC下面的英文3个波浪号~按键 var s = &qu ...

  5. lambda表达式对比

    using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threa ...

  6. PHP函数库(other)

    PHP函数库(other) Session函数: session_abort — Discard session array changes and finish session session_ab ...

  7. WEB系统开发

    最近根据项目组需求做了web工作流程系统,就是一个简单的web管理系统,取代原先使用的excel表格,在VS2008下面开发,数据库使用Mysql,使用Mysql-connecte 5.0与数据库连接 ...

  8. 云计算中心网络资源分配-Faircloud: sharing the network in cloud computing

    网络资源同计算资源以及存储资源一样,是一种可被租户共享使用并提高利用率的资源.但是,不同租户的计算资源以及存储资源之间,有很强的隔离性,可以实现按需按比例分配的使用方式,但是网络资源却不可以. 主要原 ...

  9. 【Demo】 生成二维码 和 条形码

    条形码 和 二维码 对比 一维条形码只是在一个方向(一般是水平方向)表达信息,而在垂直方向则不表达任何信息,其一定的高度通常是为了便于阅读器的对准. 在水平和垂直方向的二维空间存储信息的条形码, 称为 ...

  10. html之内联元素与块状元素;

    html之内联元素与块状元素 一.html之内联元素与块状元素 1.块状元素一般比较霸道,它排斥与其他元素位于同一行内.比如div,并且width与height对它起作用. 2.内联元素只能容纳文本或 ...