rsync传输性能测试总结 转
测试环境
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传输性能测试总结 转的更多相关文章
- 蓝牙BLE传输性能及延迟分析
BLE传输性能主要受以下几个因素影响:操作类型,Connection Interval,每个Connection Event内发送的帧数.每一帧数据的长度.具体参见如下链接: https://devz ...
- JMeter基于http请求的web接口性能测试总结
[本文出自天外归云的博客园] 基于http请求的web接口性能测试总结 压测的目的:对于Web接口压测的目的最终是要在对数据库造成压力的情况下观察压测服务器的cpu是否达到预警值.memory是否发生 ...
- web性能优化-网络传输性能优化
浏览器工作原理:https://www.cnblogs.com/thonrt/p/10008220.html 浏览器渲染原理: https://www.cnblogs.com/thonrt/p/100 ...
- 【性能测试】性能测试总结<四>
性能测试常见指标 性能测试说白了就是通过工具模拟多个用户对被测系统进行访问.然后查看系统对于多个用户发来请求的处理能力. 左边的两个小人表示两个用户,向右边服务器发送请求,然后得到服务器 ...
- fswatch rsync配置使用 rsync 传输大量细小文件
贴一个脚本这个脚本是rsync远程同步使用的一个脚本 rsync -avz --progress --exclude .git /Users/piperck/Desktop/gogogo/x pipe ...
- Rsync 传输不需要输入密码
1.背景 1) 一个作为服务器端:VM3(IP: 3.9.8.151) 2) 一个作为客户端:VM2(IP: 3.9.8.157) 3) 服务器端和客户端网络 ...
- web平台大数据请求传输性能处理
在XMLHttpRequest请求中使用ArrayBuffer方式,和后端服务器进行二进制的传输交互. 在项目中发现随着用户增长,部分前端功能,请求的数据量越来越大,传统的josn的方式,在下载.序列 ...
- jmeter性能测试总结
一.性能测试问题记录: Ⅰ.秒杀的失败率了在96.45%,原因 Query对于 活动的秒杀采用的是0.5秒,刷新缓存的策略在活动中优惠券被秒杀一空 下架前,短暂的时间内仍能够查询到 这个活动架构中采用 ...
- 【性能测试】性能测试总结<三>
常见性能测试工具: 性能测试工具,从理论上来讲在性能测试过程中使用到的所有工具都可以称其为性能测试工具,通常分为以下几类: 说明: 服务器端性能测试工具:需要支持产生压力和负载,录制和生成脚本,设置和 ...
随机推荐
- ASPX版菜刀一句话,留后门专用
首先解释一下为什么要做这个玩意:众所周知.net一句话是不能插入到文件之中的,除非那个页面使用Jscript编写,但是现在看来 Jscript市场很低,遇到的.net站基本都是C#.新建一个SHELL ...
- Oracle 10g安装64位图解流程
1. 安装准备阶段 1.1 安装Oracle环境 本例使用X-Manager来实现与Linux系统的连接,本例使用的所有命令和操作都是在X-Manager下进行.X-Manager安装完成后的配置方法 ...
- 【转载】存储scale-up和scalce-out架构
转自:存储scale-up和scalce-out架构 存储scale-up和scalce-out架构 Scale-up,即纵向扩展架构.从下面的拓扑图我们可见,纵向扩展是利用现有的存储系统,通过不断增 ...
- 用php随机生成福彩双色球号码的2种方法
不瞒您说,俺也是个双色球爱好者,经常买,但迟迟没有中过一等奖,哈哈.这里为大家介绍用php随机生成福彩双色球号码的二种方法,供朋友们学习参考.新的一年,祝大家中大奖,发大财. 方法一 复制代码代码如下 ...
- 256 terabytes random-access memory
Computer Systems A Programmer's Perspective Second Edition As we will discuss, the extension of IA32 ...
- P1379 八数码问题
aoapc上的八数码问题,在luogu上也有类似的题,p1379,经典题目,lrj给出了一个算法,同时给出了三种判重的方法.本来想用std::queue改写一下,但是出了各种问题,只好抄代码ac掉这道 ...
- sql server 数据库连接配置在外面 如何读取
注意:web运行读取要把配置文件放在WEB-INF下面 Driver=com.microsoft.sqlserver.jdbc.SQLServerDriverurl=jdbc:sqlserver:// ...
- php session 跨页失效问题
原因是session.savepath 目录不存在或者没有读写权限
- perl常用代码
字符串联结和重复操作符 联接: . 重复:x 联接且赋值(类似+=): .=例: $newstring = "potato" . "head"; $ ...
- mysql import data slow solution---overview information
1 SELECT SUM(DATA_LENGTH)+SUM(INDEX_LENGTH) FROM information_schema.tables WHERE TABLE_SCHEMA='dat ...