如何诊断和加速缓慢的 Linux puppet 同步?

dan*_*ton 1 performance puppet puppetmaster

我正在运行 puppet 并且它运行正常,但是在没有任何更改的情况下同步需要大约 15 分钟,在我看来,这应该不会超过一两分钟。以下是一些统计数据:

  • ping 40ms
  • 49 个文件,3 MB,最大为 90K
  • master 是带有 puppet 2.7.11 的 Ubuntu 12.04(精确)
    • (升级到 puppet 2.7.23 没有帮助)
  • 代理是 Debian 7/64 w/ puppet 版本 2.7.23
  • 服务器正在为一个客户端提供服务,仅

我尝试过使用和不使用 Apache 隧道/WEBrick/passenger,结果相同。

有哪些诊断和改进同步时间的策略?

更新:就我而言,除了使用该--evaltrace选项的选定答案外,我使用strace并发现 TCP 连接超时并且我的防火墙正在限制速率。(为什么 puppet 没有报告超时以及为什么它没有重用连接,我不知道。)

Fel*_*ank 8

最直接的方法是agent使用--evaltrace标志运行

puppet agent --test --evaltrace
Run Code Online (Sandbox Code Playgroud)

这将使您很好地了解哪些资源最昂贵。

对于大文件,您可能需要尝试不同的校验和替代方案。