puppet运行慢的一个小例子

简介:

一个小例子来看下怎么debug puppet运行慢的问题。

一个小例子来看下怎么debug puppet运行慢的问题。

发现一台机器的agent运行比较缓慢,首先看下puppet server的整体性能:

puppet server使用了passenger+nginx的结构,性能比较稳定,接入1200台机器左右,passenger类似于php-fpm,可以设定启动的处理进程数等参数,用来调整server的性能。

比如参数passenger_max_pool_size,这个值的设置需要考虑两个因素,本身服务器的可用内存数(通过passenger-memory-stats查看每个进程占用的内存数量),是否有处理队列堆积(通过passenger-status查看)


机器之前是4核的cpu,user cpu全天都在90%以上,4核机器load 全天都在 20以上,client端运行puppet会超时,做了一次迁移之后性能大幅上升。

迁移前:

wKiom1QmznKwaJWtAAMHCa_Q2q0393.jpg

wKioL1QmzsuC57QGAANzW1BpRZo114.jpg

迁移后,调整pupept的运行间隔时间为10分钟:

机器是24核

wKioL1QmztuyupjXAAQHwKoGp9Y724.jpg

wKiom1QmzsXi-4FmAAPThFBdN8o785.jpg


由于前面的调整和验证,server本身性能有了很大的提升,agent端的运行基本都控制在分钟级内,排除puppet server的性能问题。

打开debug看agent端的运行情况puppetd --test --debug

可以看到是由于卡在rpm 相关的命令行上,手动运行rpm发现报错(由于rpm的本地数据库损坏导致,重新生成数据库后恢复正常)

另外,注意一个细节,通过puppet的service管理服务的状态时,是通过判断脚本的返回值实现的(即service   xxx status的返回值),如果脚本的返回值有问题可能造成服务启动了,但是puppet仍然判断服务异常的情况,如果要实现使用puppet管理服务,需要service xxx status正常返回值。

1
2
3
4
err: /Stage[main]/Hadoop::Hbase95::Install/Service[datanode]/ensure: 
change from stopped to running failed: Could not start Service[datanode]: 
Execution of '/sbin/service datanode start' returned 127:  
at /etc/puppet/modules/hadoop/manifests/hbase95.pp:129


本文转自菜菜光 51CTO博客,原文链接:http://blog.51cto.com/caiguangguang/1558881,如需转载请自行联系原作者
相关文章
|
JavaScript 前端开发 Ubuntu
《Puppet实战手册》——1.9 利用Rake引导Puppet运行
如果希望让新的服务器成为Puppet基础设施的一部分,只需要在服务器上面运行几条命令就可以实现,但现在通过为Rakefile添加新引导任务的方式使这一过程更加简单。
2011 0
|
Ubuntu 网络安全 开发工具
《Puppet实战手册》——1.7 使用cron运行Puppet
到现在为止,已经实现了从被管理的服务器上通过SSH认证访问GitHub(使用SSH代理转发),但是如果不登录到服务器并执行相关命令,服务器就不能自动拉取更新。所以,此处创建了一个新的SSH密钥对,将公钥作为部署密钥添加到GitHub,使拥有密钥文件的服务器可以访问仓库。
1929 0
|
25天前
|
运维 Linux Apache
Puppet 作为一款强大的自动化运维工具,被广泛应用于配置管理领域。通过定义资源的状态和关系,Puppet 能够确保系统始终处于期望的配置状态。
Puppet 作为一款强大的自动化运维工具,被广泛应用于配置管理领域。通过定义资源的状态和关系,Puppet 能够确保系统始终处于期望的配置状态。
48 3
|
安全 Linux 网络协议
puppet yum模块、配置仓储、mount模块
转载:http://blog.51cto.com/ywzhou/1577335 作用:自动为客户端配置YUM源,为使用yum安装软件包提供便捷。 1、服务端配置yum模块 (1)模块清单 [root@puppet ~]# tree /etc/puppe...
1113 0
|
网络协议 安全 网络安全
|
Perl 存储 数据挖掘