Ansible läuft richtig langsam. Wir untersuchen Wege, die Ausführung zu beschleunigen und landen letzten Endes bei Mitogen.
Ausgangslage
Wir prüfen die Ausführungszeit für den Ansible-Lauf von “dprepo”.
Durchgeführt wird dieser mittels time ansible-playbook site.yml -l ppnproxy --check --diff
:
Methode | T1 | T2 | T3 | T4 | T5 | |
---|---|---|---|---|---|---|
Standard-Ansible | 73s | 72s | 71s | 71s | 71s | |
Aktivieren von Pipelining
Pipelining aktivieren wie via “ansible.cfg”:
1 2 3 4 5 6 7 8 9 |
|
Ausführungzeiten:
Methode | T1 | T2 | T3 | T4 | T5 | |
---|---|---|---|---|---|---|
Standard-Ansible | 73s | 72s | 71s | 71s | 71s | | |
Pipelining | 30s | 30s | 31s | 28s | 28s | |
Persistent Connections
Aktivieren von “persistent_connection” via “ansible.cfg” bringt keinerlei zusätzlichen Vorteil:
1 2 3 4 5 6 7 8 9 10 11 |
|
Hier die Ausführungszeiten:
Methode | T1 | T2 | T3 | T4 | T5 | |
---|---|---|---|---|---|---|
Standard-Ansible | 73s | 72s | 71s | 71s | 71s | | |
Pipelining | 30s | 30s | 31s | 28s | 28s | | |
Persistent Connection | 31s | 29s | 28s | 28s | 28s | |
Wir bauen das wieder zurück!
ControlMaster und ControlPersist
Manchmal findet man den Tipp, die SSH-Argumente … zu setzen:
1 2 3 4 5 6 7 8 9 |
|
Bei uns hilft das nicht:
Methode | T1 | T2 | T3 | T4 | T5 | |
---|---|---|---|---|---|---|
Standard-Ansible | 73s | 72s | 71s | 71s | 71s | | |
Pipelining | 30s | 30s | 31s | 28s | 28s | | |
Persistent Connection | 31s | 29s | 28s | 28s | 28s | | |
ControlMaster und ControlPersist | 29s | 29s | 28s | 29s | 28s | |
Wir bauen das wieder zurück!
Mitogen
Mitogen spielen wir so ein:
- Master runterladen von Github
- Master auspacken –> mitogen-master
Danach: ansible.cfg anpassen:
1 2 3 4 5 6 7 8 9 |
|
Ausführungszeiten:
Methode | T1 | T2 | T3 | T4 | T5 | |
---|---|---|---|---|---|---|
Standard-Ansible | 73s | 72s | 71s | 71s | 71s | | |
Pipelining | 30s | 30s | 31s | 28s | 28s | | |
Persistent Connection | 31s | 29s | 28s | 28s | 28s | | |
ControlMaster und ControlPersist | 29s | 29s | 28s | 29s | 28s | | |
Mitogen (master-20200606) | 18s | 18s | 18s | 19s | 18s | |
Probleme
mitogen-0.2.9 funktioniert nicht mit Ubuntu-20.04 – /usr/bin/python: No such file or directory
Die aktuell veröffentlichte Version 0.2.9 von Mitogen funktioniert nicht mit Ubuntu-20.04. Es erscheint diese Fehlermeldung:
1 2 3 4 5 6 |
|
Abhilfe: Mitogen-Master verwenden! Eine neue Version von Mitogen mit der für Ubuntu-20.04 notwendigen Korrektur ist erst mit dem Erscheinen von Ansible-2.10 geplant!
Änderungen
- 2020-06-06: Erste Version