我正在运行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我的fab文件:
#!/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在paramiko启动线程之前需要20秒。当然,Executing task 'uptime'不会花那么长时间。我可以通过ssh手动登录,输入正常运行时间,然后在5-6秒内退出。如果能帮助我提取模式调试信息,我将不胜感激。我做了changes mentioned here,但没什么不同。
发布于 2013-09-16 21:42:38
尝试:
env.disable_known_hosts = True请参阅:https://github.com/paramiko/paramiko/pull/192 & Slow public key authentication with paramiko
发布于 2013-08-19 05:38:36
可能是DNS解析和/或IPv6的问题。
下面是一些你可以尝试的东西:
在env.hosts
中,DNS服务器使用IP地址替换服务器名称
发布于 2016-10-12 01:00:10
对于任何关注这个2014年后版本的人来说,paramiko是检查已知主机时速度最慢的组件,它在2014年3月引入了一个修复(v1.13),这是Fabric在v1.9.0中允许的,并向后移植到v1.8.4和v1.7.4。
所以,升级吧!
https://stackoverflow.com/questions/18178843
复制相似问题