ansible速度优化

栏目: 服务器 · 发布时间: 7年前

内容简介:ansible速度优化

有人说 ansible 的执行效率比价差,但是可以通过很多的优化去调整执行速度

$ time ansible centos -m ping -o
192.168.56.101 | SUCCESS => {"changed": false, "ping": "pong"}
192.168.56.102 | SUCCESS => {"changed": false, "ping": "pong"}

real	0m1.298s
user	0m0.479s
sys	0m0.217s

开启ssh长连接

OpenSSH 5.6 版本后 SSH 支持了 Multiplexing ,关于这个特性可以参考文章 Multiplexing

修改 ansible.cfg 文件

设置参数

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

ControlPersist=5d //长连接时间保持5天

开启后,通过 SSH 连接过的设备会在当前目录 .ansible/cp/ 目录下生成一个 socket 文件,通过 netstat 命令会看到,有 ESTABLISHED 状态的连接一直与远端社保进行 tcp 连接

开启pipelining

执行流程优化

需要被控制主机 /etc/sudoers 文件编辑当前 ansible ssh 用户的配置为 requiretty 。否则在执行的时候会提示 sudo: sorry, you must have a tty to run sudo

设置参数

pipelining = True

开启accelerate模式

accelerate 在远端服务器上运行一个守护进程。

注意:开启 accelerate 需要在管理与被管理端都安装 python-keyczar 软件包。

设置参数

[accelerate]
#accelerate_port = 5099
#accelerate_timeout = 30
#accelerate_connect_timeout = 5.0

开启facts缓存

如果你不使用 facts 里的信息,可以在 playbook 中设置 gather_facts: False 来提交效

设置参数

使用 json 文件存储 facts 信息

gathering = smart
fact_caching_timeout = 86400 
fact_caching = jsonfile 
fact_caching_connection = /dev/shm/ansible_fact_cache

目前 facts 存储还不支持远端,所以需要在 ansible 管理机上安装 redis 服务,然后安装 redis python 库。 pip install redis
设置参数

gathering = smart
fact_caching_timeout = 86400
fact_caching = redis

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Access2003数据库开发典型范例

Access2003数据库开发典型范例

王樵民 / 第1版 (2006年8月1日) / 2006-8 / 42.00元

Access数据库管理软件是一套集数据管理、程序开发功能于一体的高级办公软件,是特别适合普通办公人员进行日常工作的有力助手。本书面向非计算机专业人员,通过多个实例讲解Access中的各种开发技术,介绍实际工作过程中应用软件的编制方法,以及与Excel等软件之间的信息互用技术等内容。能够帮助读者快速掌握Access数据库的开发技术,构建解决自己工作中实际问题的数据库管理系统,从而提高办公效率。一起来看看 《Access2003数据库开发典型范例》 这本书的介绍吧!

HTML 压缩/解压工具
HTML 压缩/解压工具

在线压缩/解压 HTML 代码

XML 在线格式化
XML 在线格式化

在线 XML 格式化压缩工具

RGB CMYK 转换工具
RGB CMYK 转换工具

RGB CMYK 互转工具