时间:2023-01-27来源:系统屋作者:qipeng
1.4.6 查看已安装的RPM
$ sudo rpm -qa | grep openssh
openssh-clients-6.6p1-1.x86_64
openssh-server-6.6p1-1.x86_64
openssh-6.6p1-1.x86_64
2. 配置ControlMaster
$ cd /home/dong.guo
$ vim .ssh/config
Host *
Compression yes
ServerAliveInterval 60
ServerAliveCountMax 5
ControlMaster auto
ControlPath ~/.ssh/sockets/%r@%h-%p
ControlPersist 4h
3. 下载cmc工具用于管理sockets
$ cd ~
$ sudo yum install http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
$ sudo yum install git
$ cd /home/dong.guo
$ mkdir bin
$ git clone https://github.com/ClockworkNet/cmc.git
$ cp cmc/cmc bin/
4. 使用与测试
4.1 查看当前的sockets
$ cmc -l
No ControlMaster connection sockets found.
4.2 统计第一次的执行时间
$ time ssh rainbow@ ‘hostname -s’
ec2-tokyo
real 0m9.486s
user 0m0.017s
sys 0m0.015s
耗时9.5秒
4.3 查看当前的sockets
$ cmc -l
Master running (pid=32857, cmd=ssh: /home/dong.guo/.ssh/sockets/rainbow@-22 [mux], start=19:19:05)
Socket: /home/dong.guo/.ssh/sockets/rainbow@-22
4.4 统计有socket情况下的执行时间
$ time ssh rainbow@ ‘hostname -s’
ec2-tokyo
real 0m0.240s
user 0m0.004s
sys 0m0.005s
耗时0.24秒
4.5 删除当前所有的sockets
$ cmc -X
- Closing ControlMaster connection
Exit request sent.
4.6 统计没有socket情况下的执行时间
ec2-tokyo
real 0m9.468s
user 0m0.016s
sys 0m0.017s
仍然是9.5秒
5. 结论
在开启了ControlMaster的持久化之后,SSH在建立了sockets之后,节省了每次验证和创建连接的时间。
在网络状况不是特别理想,尤其是跨互联网的情况下,所带来的性能提升是非常可观的,在上面的测试中节约了9秒。
而即使在局域网内部使用,每台服务器节省1秒左右的时间,同时操作上百台服务器时,节省的时间也是非常可观的。
上面就是Linux使用ControlPersist加快SSH连接速度的方法介绍了,别看只是加快了一点点,量多的时候还是有用的。
2023-01-27
Linux使用scp命令远程传输文件的方法2023-01-27
CentOS 6.4如何安装及设置GlusterFS2023-01-26
Linux升级Mysql后报错conflicts with file怎么办?Linux虚拟机中的磁盘空间不够用,再挂载一块硬盘的时候出现了报错提示,即you must specify the filesystem type,这句话是什么意思呢?不了解的朋友不妨随小编一起来了解下解决方法吧。...
2023-01-26
Linux系统在使用rsync传输大文件的时候,由于本人不在身边,无法保证文件是否完整传输,这时可以编写一个shell脚本来监控rsync是否传输完数据,以确保文件传输到一半时中断却不知道。...
2023-01-26