Deployment 结构使用ssh需要很长时间

Deployment 结构使用ssh需要很长时间,deployment,ssh,fabric,paramiko,Deployment,Ssh,Fabric,Paramiko,我正在运行fabric以自动化部署。它慢得令人痛苦 我的本地环境: (somenv)bob@sh ~/code/somenv/somenv/fabfile $ > uname -a Darwin sh.local 12.4.0 Darwin Kernel Version 12.4.0: Wed May 1 17:57:12 PDT 2013; root:xnu-2050.24.15~1/RELEASE_X86_64 x86_64 我的晶圆厂档案: #!/usr/bin/env pyt

我正在运行fabric以自动化部署。它慢得令人痛苦

我的本地环境:

(somenv)bob@sh ~/code/somenv/somenv/fabfile $  > uname -a
Darwin sh.local 12.4.0 Darwin Kernel Version 12.4.0: Wed May  1 17:57:12 PDT 2013; root:xnu-2050.24.15~1/RELEASE_X86_64 x86_64
我的晶圆厂档案:

#!/usr/bin/env python

import logging
import paramiko as ssh
from fabric.api import env, run

env.hosts = [ 'examplesite']
env.use_ssh_config = True
#env.forward_agent = True
logging.basicConfig(level=logging.INFO)
ssh.util.log_to_file('/tmp/paramiko.log')

def uptime():
  run('uptime')
以下是调试日志的一部分:

(somenv)bob@sh ~/code/somenv/somenv/fabfile $  > date;fab -f /Users/bob/code/somenv/somenv/fabfile/pefabfile.py uptime
Sun Aug 11 22:25:03 EDT 2013
[examplesite] Executing task 'uptime'
[examplesite] run: uptime
DEB [20130811-22:25:23.610] thr=1   paramiko.transport: starting thread (client mode): 0x13e4650L
INF [20130811-22:25:23.630] thr=1   paramiko.transport: Connected (version 2.0, client OpenSSH_5.9p1)
DEB [20130811-22:25:23.641] thr=1   paramiko.transport: kex algos:['ecdh-sha2-nistp256', 'ecdh-sha2-nistp384', 'ecdh-sha2-nistp521', 'diffie-hellman-grou

帕拉米科启动线程需要20秒。当然,
执行任务“正常运行时间”
不会花那么长时间。我可以通过ssh手动登录,输入正常运行时间,然后在5-6秒内退出。如果您能帮助我提取模式调试信息,我将不胜感激。我做了修改,但没有什么不同。

可能是DNS解析和/或IPv6存在问题

您可以尝试以下几点:

  • env.hosts
  • 禁用IPv6
  • 使用其他DNS服务器(例如OpenDNS)
试试:

env.disable_known_hosts = True
见: &
对于任何关注2014年后的人来说,
paramiko
,这是检查已知主机时的慢组件,在2014年3月(v1.13)引入了一个补丁,v1.9.0中的
Fabric
允许该补丁,并将其后端口移植到v1.8.4和v1.7.4


所以,升级

它工作!!!我的fabric程序从几十分钟加速到几秒钟!!非常感谢你!