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

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

我正在运行 Puppet,它运行正常,但同步需要大约 15 分钟,没有任何变化,在我看来,这不应该超过一两分钟。以下是一些统计数据:

  • ping 40毫秒
  • 49 个文件,3 MB,最大为 90K
  • master 是 Ubuntu 12.04 (precise),带有 puppet 2.7.11
    • (升级至 Puppet 2.7.23 也无济于事)
  • 代理是 Debian 7/64,带有 puppet 版本 2.7.23
  • 服务器只为一个客户端提供服务

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

有哪些策略可以诊断这个问题并改善同步时间?

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

答案1

最直接的方法是运行agent带有--evaltrace标志的

puppet agent --test --evaltrace

这将让您清楚地了解哪些资源最昂贵。

对于大文件,你可能需要尝试不同的校验和备择方案。

答案2

查看 :https://tickets.puppetlabs.com/browse/PA-3380它描述了由 SELinux 和挂载数量混合导致的缓慢。

没有人注意到这一点,这很遗憾,因为大多数(企业)用户会注意到速度至少提高了 50%,而且对系统负载的影响要小得多

相关内容