web-dev-qa-db-ja.com

遅いLinuxpuppet同期を診断して高速化するにはどうすればよいですか?

私はpuppetを実行していて、正常に機能しますが、同期では変更なしで約15分かかります。これには、1〜2分以上かかることはないようです。ここにいくつかの統計があります:

  • ping 40ms
  • 49ファイル、3 MB、最大は90K
  • マスターはUbuntu12.04(正確)w/puppet 2.7.11
    • (puppet 2.7.23へのアップグレードは役に立ちませんでした)
  • エージェントはDebian7/64 w/puppetバージョン2.7.23です
  • サーバーは1つのクライアントのみにサービスを提供しています

Apache tunnel/WEBrick/passengerを使用した場合と使用しない場合で同じ結果が得られました。

これを診断し、同期時間を改善するためのいくつかの戦略は何ですか?

PDATE:私の場合、--evaltraceオプションを使用するために選択した回答に加えて、straceを使用し、TCP接続がタイムアウトし、ファイアウォールがレート制限されていた(パペットがタイムアウトを報告しなかった理由と、接続を再利用しない理由はわかりません)。

2
danorton

最も直接的なアプローチは、次のような--evaltraceフラグを指定してagentを実行することです。

puppet agent --test --evaltrace

これにより、どのリソースが最も高価であるかがわかります。

大きなファイルの場合は、さまざまな チェックサム の選択肢を試してみることをお勧めします。

8
Felix Frank