ansible系列8-SSH连接和执行性能优化

Posted 划得戳

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ansible系列8-SSH连接和执行性能优化相关的知识,希望对你有一定的参考价值。

1.

当你的SSH的版本高于5.6时

我们可以直接修改 /etc/ansible/ansible.cfg里面的参数

ssh_args = -C -o ControlMaster=auto -o ControlPersist=5d

ControlPersist=5d这个参数是设置整个长连接保持时间设置为5天,如果开启,通过SSH连接过的设备都会在/ansible/cp目录下生成一个socket文件

 

如果你的SSH的版本低于5.6,需要使用yum对SSH升级

yum update openssh-clients

2.开启pipelining

我们可以直接修改 /etc/ansible/ansible.cfg里面的参数

pipelining=True

需要修改被控制主机的/etc/sudoers

编辑当前SSH用户配置为requiretty

3.开启ansible加速模式accelerate

1)  需要开启时首先要在远端机器安装 python-keyczar软件包

2)  需要在ansible-playbook的剧本文件中加入 accelerate: true

还需加入:

[accelerate]

accelerate_port = 5099

accelerate_timeout = 30

accelerate_connect_timeout = 5.0

4.设置facts缓存

1)需要在ansible-playbook的剧本文件中加入 gather_facts: False  #可以直接关闭facts不收集远程主机信息

2)设置facts缓存: /etc/ansible/ansible.cfg

     第一种方式:使用文件缓存

     gathering = smart

     facts_caching_timeout = 86400  #  设置缓存过期时间86400秒

     facts_caching = jsonfile              #  cache文件是json格式

     facts_caching_connection = /tmp/ansible/ansible_facts_cache   #缓存文件的存储路径

     第二种方式:使用redis存储facts文件需安装redis;yum install redis ;还需要安装pip install redis的python库

     gathering = smart

     facts_caching_timeout = 86400  #  设置缓存过期时间86400秒

     facts_caching = redis              # 使用redis          或者        facts_caching = memcached              #使用memcached

 

以上是关于ansible系列8-SSH连接和执行性能优化的主要内容,如果未能解决你的问题,请参考以下文章

关于Ansible使用CallBack插件分析Playbook执行性能的一些笔记

关于Ansible使用CallBack插件分析Playbook执行性能的一些笔记

性能优化系列七:SQL优化

成为架构师课程系列性能优化技术之“池化技术”:如何减少频繁创建数据库连接的性能损耗?

全靠OpenStack-Ansible,eBay Classifieds躲过一大劫

Java性能优化指南系列(二):Java 性能分析工具