下面从架构、配置、代码、运行环境四个层面,系统讲一下 Puppet 性能调优方法,偏实战。
# puppet.conf
[main]
server = puppet.example.com
分批执行(推荐):
# 不同节点错峰
0 2 * * * puppet agent -t
30 2 * * * puppet agent -t
PuppetDB 能:
[master]
storeconfigs = true
storeconfigs_backend = puppetdb
编辑:
/etc/sysconfig/puppetserver
# 或
/etc/default/puppetserver
JAVA_ARGS="-Xms2g -Xmx2g"
经验值:
2000 节点:8G+
# puppetserver.conf
max-active-instances = 4
公式参考:
并发数 ≈ CPU核数 * 0.75
execnotify => Service 链过长unless / onlyif 减少执行exec { 'reload nginx':
command => '/usr/sbin/nginx -s reload',
unless => '/usr/bin/test -f /tmp/nginx_ok',
}
factercache[agent]
factercache = true
factercacheterm = 1d
[agent]
runinterval = 30m
[agent]
usecacheonfailure = true
[agent]
report = false
| 现象 | 原因 | 解决 |
|---|---|---|
| catalog 编译慢 | 代码复杂 | 简化类 |
| Server CPU 高 | 并发高 | 限制 agent |
| JVM OOM | 内存小 | 增大 Xmx |
| Agent 卡住 | facts 慢 | 缓存 facts |
| 报告慢 | PuppetDB 慢 | 优化 DB |
如果你愿意,我可以:
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。