对于千兆网来说,带宽大致为125M/s,scp的速度约为40M/s,对于需要全量恢复数据库的时候(300G 左右的量),需要2个小时左右,很不能接受这种情况;
加快SCP传输速度需要考虑以下几点:
1、ssh加密算法的改变;(加密算法越弱速度越快在IDC内网间可以考虑使用)
2、数据完整校验方式改变;(MACs )
3、是否启用压缩;
4、磁盘性能问题;
man scp 可调整速率的大多在算法上,(亲测-B batch mode 对传输影响不大)
-c cipher -o 完整性校验
ssh -v 调试ssh连接
关于以上问题的测试数据可参考:
加密算法可以采用 scp -c aes192-cbc
数据完整性校验采用 scp -o 'MACs umac-64@openssh.com'
值得一提的是压缩,只要压缩后节省的传输时间大于压缩本身的时间;
压缩往往适用于: 网速慢;数据中大量重复、空洞的; 而对于压缩比很低的数据不建议使用SSH的传输压缩方式;最好在本地进行并行压缩后再传输;
加快压缩可以参考以下命令:
scp -c aes192-cbc -o "MACs umac-64@openssh.com"