zoukankan      html  css  js  c++  java
  • 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

    sed -i '/Defaults.*requiretty/aDefaults: test !requiretty' /etc/sudoers #添加用户test !requiretty
    sed -i "$a Defaults: test !requiretty" /etc/sudoers   #添加用户test !requiretty

    编辑当前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

         #查看redis存储情况

            redis-cli               #登陆redis

            keyd *                 #找到所有键

            select 0              #切换库

            get   键的名字    #查看值

  • 相关阅读:
    深入Java集合学习系列:ConcurrentHashSet简单实现
    深入Java集合学习系列:TreeSet 详解
    深入Java集合学习系列:TreeMap实现
    深入Java集合学习系列:ConcurrentHashMap之实现细节
    深入Java集合学习系列:WeakHashMap的实现原理
    深入Java集合学习系列:Hashtable的实现原理
    深入Java集合学习系列:LinkedList的实现原理
    深入Java集合学习系列:ArrayList的实现原理
    深入Java集合学习系列:LinkedHashSet的实现原理
    深入Java集合学习系列:LinkedHashMap的实现原理
  • 原文地址:https://www.cnblogs.com/kuku0223/p/8733273.html
Copyright © 2011-2022 走看看