Ich habe einen Puppenmeister und Sklaven in verschiedenen Rechenzentren. Die Latenz zwischen ihnen beträgt ~ 40ms. Wenn ich "Puppet Agent - Test" auf einem Slave ausführe, um das neueste Manifest anzuwenden, dauert es ~ 360 Sekunden, bis es fertig ist.
Nach einigem Graben kann ich sehen, dass die Hauptursache für die Verlangsamung die Dateiübertragung ist. Es scheint, dass es ~ 10 Sekunden dauert, um jede Datei zu übertragen. Die Dateien sind nur klein (Konfigurationsdateien), daher kann ich nicht verstehen, warum sie so lange dauern würden.
Dies ist ein Beispiel für eine Datei in meinem Manifest:
file { "/etc/rsyncd.conf" :
owner => "root",
group => "root",
mode => 644,
source => "puppet:///files/rsyncd/rsyncd.conf"
}
Puppet-Profiler laufen Ich sehe das:
10.21s - File[/etc/rsyncd.conf]
Es scheint auch, dass ich nicht mehr als einen Server gleichzeitig mit Puppet aktualisieren kann. Wenn ich zwei Server gleichzeitig betreibe, dauert die Puppe doppelt so lange.
Ich habe den Puppenmeister von Webrick auf Mischling umgestellt, aber das scheint nicht zu helfen. Dies macht das Bereitstellen von Änderungen schmerzhaft. Eine einfache Konfigurationsänderung kann eine Stunde dauern, bis sie auf allen Servern verfügbar ist.