zoukankan      html  css  js  c++  java
  • Ansible管理上千台主机时需要的速度优化

    1 开启ssh长连接

    OpenSSH 5.6版本后SSH支持了Multiplexing
    

    设置参数

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

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

    2 开启pipelining

    执行流程优化
    设置参数

    pipelining = True

    3 开启accelerate模式

    accelerate在远端服务器上运行一个守护进程。
    注意: 开启accelerate需要在管理与被管理端都安装python-keyczar软件包。
    设置参数

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

    4 开启facts缓存

    如果你不使用facts里的信息,可以在playbook中设置gather_facts: False来提交效
    设置参数
    使用json文件存储facts信息,也可以使用redis或者memcached。需要安装依赖库。

    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 = redisAnsible速度优化
    
  • 相关阅读:
    redux
    ajax跨域例子
    flux
    BSON数据格式
    JS代码风格自动规整工具Prettier
    JS通用模块模式 UMD
    Promise库
    webpack打包理解
    前端自动提示功能插件-typeahead
    socket.io emit callback调用探秘
  • 原文地址:https://www.cnblogs.com/lovesKey/p/11371266.html
Copyright © 2011-2022 走看看