Sorry to reply to myself but in case anyone is interested I just noticed 
that the ssh slowdown has been fixed on the day after my mail by a commit 
very appropriately commented as "Fix slow ssh":

https://github.com/ansible/ansible/commit/75b7a1d9c7f088a9ec5a43e618139f6276cf6a4a

Unfortunately the commit hasn't made it to any released version yet.

Thanks lberruti for the fix, it does solve the issue here.

ciao
ste


Il giorno martedì 4 febbraio 2014 15:49:23 UTC+1, Stefano Debenedetti ha 
scritto:
>
> Hi,
>
> today I upgraded from Ansible 1.3.4 to 1.4.4 and noticed a major slowdown 
> in my playbooks using ssh between virtual machines on the same VirtualBox 
> host.
>
> Here's a simple test with ping showing what I mean:
>
> root@ansible:~/test/deploy# ansible --version
> ansible 1.3.4
>
> root@ansible:~/test/deploy# time ansible -i test -m ping test-host-2 -c 
> ssh -vvvv
> <test-host-2> ESTABLISH CONNECTION FOR USER: root
> <test-host-2> EXEC ['ssh', '-tt', '-vvv', '-o', 'ControlMaster=auto', 
> '-o', 'ControlPersist=60s', '-o', 
> 'ControlPath=/root/.ansible/cp/ansible-ssh-%h-%p-%r', '-o', 'Port=40033', 
> '-o', 'KbdInteractiveAuthentication=no', '-o', 
> 'PreferredAuthentications=gssapi-with-mic,gssapi-keyex,hostbased,publickey', 
> '-o', 'PasswordAuthentication=no', '-o', 'ConnectTimeout=10', 
> 'test-host-2', "/bin/sh -c 'mkdir -p 
> $HOME/.ansible/tmp/ansible-1391890971.81-192496444342081 && echo 
> $HOME/.ansible/tmp/ansible-1391890971.81-192496444342081'"]
> <test-host-2> REMOTE_MODULE ping 
> <test-host-2> PUT /tmp/tmpDzkccX TO 
> /root/.ansible/tmp/ansible-1391890971.81-192496444342081/ping
> <test-host-2> EXEC ['ssh', '-tt', '-vvv', '-o', 'ControlMaster=auto', 
> '-o', 'ControlPersist=60s', '-o', 
> 'ControlPath=/root/.ansible/cp/ansible-ssh-%h-%p-%r', '-o', 'Port=40033', 
> '-o', 'KbdInteractiveAuthentication=no', '-o', 
> 'PreferredAuthentications=gssapi-with-mic,gssapi-keyex,hostbased,publickey', 
> '-o', 'PasswordAuthentication=no', '-o', 'ConnectTimeout=10', 
> 'test-host-2', "/bin/sh -c '/usr/bin/python 
> /root/.ansible/tmp/ansible-1391890971.81-192496444342081/ping; rm -rf 
> /root/.ansible/tmp/ansible-1391890971.81-192496444342081/ >/dev/null 2>&1'"]
> test-host-2 | success >> {
>     "changed": false, 
>     "ping": "pong"
> }
>
>
> real    0m0.392s
> user    0m0.124s
> sys     0m0.032s
>
>
> root@ansible:~/test/deploy# ansible --version
> ansible 1.4.4
>
> root@ansible:~/test/deploy# time ansible -i test -m ping test-host-2 -c 
> ssh -vvvv
> <test-host-2> ESTABLISH CONNECTION FOR USER: root
> <test-host-2> EXEC ['ssh', '-tt', '-vvv', '-o', 'ControlMaster=auto', 
> '-o', 'ControlPersist=60s', '-o', 
> 'ControlPath=/root/.ansible/cp/ansible-ssh-%h-%p-%r', '-o', 'Port=40033', 
> '-o', 'KbdInteractiveAuthentication=no', '-o', 
> 'PreferredAuthentications=gssapi-with-mic,gssapi-keyex,hostbased,publickey', 
> '-o', 'PasswordAuthentication=no', '-o', 'ConnectTimeout=10', 
> 'test-host-2', "/bin/sh -c 'mkdir -p 
> $HOME/.ansible/tmp/ansible-1391890986.05-221773170470374 && echo 
> $HOME/.ansible/tmp/ansible-1391890986.05-221773170470374'"]
> <test-host-2> REMOTE_MODULE ping 
> <test-host-2> PUT /tmp/tmptXIMKK TO 
> /root/.ansible/tmp/ansible-1391890986.05-221773170470374/ping
> <test-host-2> PUT /tmp/tmpjViJP5 TO 
> /root/.ansible/tmp/ansible-1391890986.05-221773170470374/arguments
> <test-host-2> EXEC ['ssh', '-tt', '-vvv', '-o', 'ControlMaster=auto', 
> '-o', 'ControlPersist=60s', '-o', 
> 'ControlPath=/root/.ansible/cp/ansible-ssh-%h-%p-%r', '-o', 'Port=40033', 
> '-o', 'KbdInteractiveAuthentication=no', '-o', 
> 'PreferredAuthentications=gssapi-with-mic,gssapi-keyex,hostbased,publickey', 
> '-o', 'PasswordAuthentication=no', '-o', 'ConnectTimeout=10', 
> 'test-host-2', "/bin/sh -c '/usr/bin/python 
> /root/.ansible/tmp/ansible-1391890986.05-221773170470374/ping 
> /root/.ansible/tmp/ansible-1391890986.05-221773170470374/arguments; rm -rf 
> /root/.ansible/tmp/ansible-1391890986.05-221773170470374/ >/dev/null 2>&1'"]
> test-host-2 | success >> {
>     "changed": false, 
>     "ping": "pong"
> }
>
>
> real    0m2.412s
> user    0m0.148s
> sys     0m0.036s
>
>
>
>
>
> I tried the same test with the current github HEAD and in the best case 
> it's still much slower than 1.3.4:
>
>
> root@ansible:~/test/deploy# ansible --version
> ansible 1.5 (devel 2267503c53) last updated 2014/02/04 14:20:20 (GMT +200)
>
>
> # new SSH plugin
>
>
> root@ansible:~/test/deploy# time ansible -i test -m ping test-host-2 -c 
> ssh -vvvv 
> <test-host-2> ESTABLISH CONNECTION FOR USER: root
> <test-host-2> REMOTE_MODULE ping 
> <test-host-2> EXEC ['ssh', '-C', '-tt', '-vvv', '-o', 
> 'ControlMaster=auto', '-o', 'ControlPersist=60s', '-o', 
> 'ControlPath=/root/.ansible/cp/ansible-ssh-%h-%p-%r', '-o', 'Port=40033', 
> '-o', 'KbdInteractiveAuthentication=no', '-o', 
> 'PreferredAuthentications=gssapi-with-mic,gssapi-keyex,hostbased,publickey', 
> '-o', 'PasswordAuthentication=no', '-o', 'ConnectTimeout=10', 
> 'test-host-2', "/bin/sh -c 'mkdir -p 
> $HOME/.ansible/tmp/ansible-tmp-1391891219.83-137866337554858 && echo 
> $HOME/.ansible/tmp/ansible-tmp-1391891219.83-137866337554858'"]               
>                                                                               
>                                                 
>
> <test-host-2> PUT /tmp/tmpu_xAge TO 
> /root/.ansible/tmp/ansible-tmp-1391891219.83-137866337554858/ping
> <test-host-2> EXEC ['ssh', '-C', '-tt', '-vvv', '-o', 
> 'ControlMaster=auto', '-o', 'ControlPersist=60s', '-o', 
> 'ControlPath=/root/.ansible/cp/ansible-ssh-%h-%p-%r', '-o', 'Port=40033', 
> '-o', 'KbdInteractiveAuthentication=no', '-o', 
> 'PreferredAuthentications=gssapi-with-mic,gssapi-keyex,hostbased,publickey', 
> '-o', 'PasswordAuthentication=no', '-o', 'ConnectTimeout=10', 
> 'test-host-2', "/bin/sh -c '/usr/bin/python 
> /root/.ansible/tmp/ansible-tmp-1391891219.83-137866337554858/ping; rm -rf 
> /root/.ansible/tmp/ansible-tmp-1391891219.83-137866337554858/ >/dev/null 
> 2>&1'"]                                                                       
>                                          
>
> test-host-2 | success >> {
>     "changed": false, 
>     "ping": "pong"
> }
>
>
> real    0m2.556s
> user    0m0.160s
> sys     0m0.048s
>
>
>
> # old SSH plugin
>
>
> root@ansible:~/test/deploy# time ansible -i test -m ping test-host-2 -c 
> ssh_old -vvvv 
> <test-host-2> ESTABLISH CONNECTION FOR USER: root
> <test-host-2> REMOTE_MODULE ping 
> <test-host-2> EXEC ['ssh', '-tt', '-vvv', '-o', 'ControlMaster=auto', 
> '-o', 'ControlPersist=60s', '-o', 
> 'ControlPath=/root/.ansible/cp/ansible-ssh-%h-%p-%r', '-o', 'Port=40033', 
> '-o', 'KbdInteractiveAuthentication=no', '-o', 
> 'PreferredAuthentications=gssapi-with-mic,gssapi-keyex,hostbased,publickey', 
> '-o', 'PasswordAuthentication=no', '-o', 'ConnectTimeout=10', 
> 'test-host-2', "/bin/sh -c 'mkdir -p 
> $HOME/.ansible/tmp/ansible-tmp-1391891284.37-266812075342423 && echo 
> $HOME/.ansible/tmp/ansible-tmp-1391891284.37-266812075342423'"]
> <test-host-2> PUT /tmp/tmpAmk9Z_ TO 
> /root/.ansible/tmp/ansible-tmp-1391891284.37-266812075342423/ping
> <test-host-2> EXEC ['ssh', '-tt', '-vvv', '-o', 'ControlMaster=auto', 
> '-o', 'ControlPersist=60s', '-o', 
> 'ControlPath=/root/.ansible/cp/ansible-ssh-%h-%p-%r', '-o', 'Port=40033', 
> '-o', 'KbdInteractiveAuthentication=no', '-o', 
> 'PreferredAuthentications=gssapi-with-mic,gssapi-keyex,hostbased,publickey', 
> '-o', 'PasswordAuthentication=no', '-o', 'ConnectTimeout=10', 
> 'test-host-2', "/bin/sh -c '/usr/bin/python 
> /root/.ansible/tmp/ansible-tmp-1391891284.37-266812075342423/ping; rm -rf 
> /root/.ansible/tmp/ansible-tmp-1391891284.37-266812075342423/ >/dev/null 
> 2>&1'"]
> test-host-2 | success >> {
>     "changed": false, 
>     "ping": "pong"
> }
>
>
> real    0m2.386s
> user    0m0.152s
> sys     0m0.020s
>
>
> # new SSH plugin with pipelining=True
>
>
> root@ansible:~/test/deploy# time ansible -i test -m ping test-host-2 -c 
> ssh -vvvv 
> <test-host-2> ESTABLISH CONNECTION FOR USER: root
> <test-host-2> REMOTE_MODULE ping 
> <test-host-2> EXEC ['ssh', '-C', '-vvv', '-o', 'ControlMaster=auto', '-o', 
> 'ControlPersist=60s', '-o', 
> 'ControlPath=/root/.ansible/cp/ansible-ssh-%h-%p-%r', '-o', 'Port=40033', 
> '-o', 'KbdInteractiveAuthentication=no', '-o', 
> 'PreferredAuthentications=gssapi-with-mic,gssapi-keyex,hostbased,publickey', 
> '-o', 'PasswordAuthentication=no', '-o', 'ConnectTimeout=10', 
> 'test-host-2', '/bin/sh -c /usr/bin/python']
> test-host-2 | success >> {
>     "changed": false, 
>     "ping": "pong"
> }
>
>
> real    0m1.412s
> user    0m0.132s
> sys     0m0.044s
>
>
> Is this major slowdown after 1.3.4 expected?
>
> thanks ciao
> ste
>
>
>
>
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"Ansible Project" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/ansible-project/a59fb565-c273-4c19-a080-96aea93bd59d%40googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to