ansible太慢解决
来源:互联网 发布:安装linux系统分3个区 编辑:程序博客网 时间:2024/05/01 13:52
沉淀技术,全新起跑!
ansible效率优化-开启ControlPersist
前言
最近在推进ansible用于配置管理与自动部署,其中一个很困扰的问题是创建ssh通道很慢,虽然ansible在同一个task里面是并行的控制多台受控端.但是每一个task都需要和受控端创建ssh通道,非常影响效率.今天决定把它解决了.
看了一下官网,提及到了openssh的ControlPersist特性可以优化,查了一下,其实就是持久化socket,一次验证多次通信.并且只需要修改ssh client就行了.
支持这个特性需要比较新的openssh,那需要自己编译一个,那我们来自己弄个RPM包吧.
制作openssh rpm包
1.配置好编译机的环境
mkdir -pv /root/rpmbuild/{BUILD,BUILDROOT,RPMS,SOURCES,SPECS,SRPMS,TMP}yum -y install tcp_wrappers tcp_wrappers-devel tcp_wrappers-libs openssl
2.制作rpm
cd /root/rpmbuild/SOURCES/.wget http://mirror.team-cymru.org/pub/OpenBSD/OpenSSH/portable/openssh-6.6p1.tar.gzwget http://mirror.team-cymru.org/pub/OpenBSD/OpenSSH/portable/openssh-6.6p1.tar.gz.asccd ../SPECS/tar xfz ../SOURCES/openssh-6.6p1.tar.gz openssh-6.6p1/contrib/redhat/openssh.specmv openssh-6.6p1/contrib/redhat/openssh.spec openssh-6.6p1.specrm -rf openssh-6.6p1sed -i -e "s/%define no_gnome_askpass 0/%define no_gnome_askpass 1/g" openssh-6.6p1.specsed -i -e "s/%define no_x11_askpass 0/%define no_x11_askpass 1/g" openssh-6.6p1.specsed -i -e "s/BuildPreReq/BuildRequires/g" openssh-6.6p1.specchown 74:74 openssh-6.6p1.specrpmbuild -ba openssh-6.6p1.spec
3.如无意外就制作好了
[root@compiler SPECS]# ll ../RPMS/x86_64/openssh-* -rw-r--r-- 1 root root 417244 Jul 12 12:39 ../RPMS/x86_64/openssh-6.6p1-1.x86_64.rpm-rw-r--r-- 1 root root 547696 Jul 12 12:39 ../RPMS/x86_64/openssh-clients-6.6p1-1.x86_64.rpm-rw-r--r-- 1 root root 17020 Jul 12 12:39 ../RPMS/x86_64/openssh-debuginfo-6.6p1-1.x86_64.rpm-rw-r--r-- 1 root root 374256 Jul 12 12:39 ../RPMS/x86_64/openssh-server-6.6p1-1.x86_64.rpm
开始配置ansible的控制端
1.安装新版本的openssh
rpm -qa |grep openssh |xargs rpm -e --nodeps --justdb #先卸载旧的opensshrpm -ivh /tmp/openssh-*
2.添加ControlMaster的配置
cat /home/ansible/.ssh/config 或/root/.ssh/config
Host * Compression yes ServerAliveInterval 60 ServerAliveCountMax 5 ControlMaster auto ControlPath ~/.ssh/sockets/%r@%h-%p ControlPersist 4h
验证一下
未持久化socket前,需要2秒
[ansible@yw-0-0 test-ops]$ time ansible -i hosts test -m ping10.33.21.205 | success >> { "changed": false, "ping": "pong"}real 0m2.046suser 0m0.984ssys 0m0.593s
持久化后,800毫秒
10.33.21.205 | success >> { "changed": false, "ping": "pong"}real 0m0.810suser 0m0.367ssys 0m0.246s
总结
在应用于线上网络更为复杂的环境中时效果更为明显,在海外美国操作新加坡一次任务从5秒优化到1秒.
0 0
- ansible太慢解决
- 解决MyEclipse运行太慢
- 解决MyEclipse运行太慢
- 解决MyEclipse运行太慢
- 解决MyEclipse运行太慢
- gradle 下载太慢解决
- 解决MyEclipse启动太慢的问题
- 如何解决StringReplace替换空格太慢
- 解决Android SDK 下载太慢
- 解决Android SDK 下载太慢
- 解决Android SDK 下载太慢
- 解决Android SDK 下载太慢
- 解决Android SDK 下载太慢
- 解决Android SDK 下载太慢
- 解决Android SDK 下载太慢
- 解决android studio 导入项目太慢
- 解决JCenter下载太慢的问题
- 解决pip install太慢的问题
- echarts2 实例
- Buttons
- aspectJ获得切点的参数
- iOS移动支付
- iOS app崩溃日志抓取
- ansible太慢解决
- [Ural 1132] Square Root (二次剩余方程)
- 条件表达式 三元操作符 ( 三目操作符 )
- 树的前序,中序,后序,层级非递归遍历
- 详解Oracle partition分区表
- LA3708 Graveyard (暴力)
- 进制转换
- 《职业心态考试题》
- js和json相互转换