Ganglia配置续

      续上一篇blog,虽然加入了rrdcached,能够将大量的随机写变为较多的连续写,保证了写入的速度,确保IO write不是瓶颈。但是当打开首页的时候仍然发现速度非常慢,查看系统iostat其实发现读写都很少,所以确定不是硬盘瓶颈导致的。查看代码,首页是读取gmetad的端口行程xml文件并解析的。通过top查看gmetad进程,可以看出进程cpu已经跑满,这时候可以推测任何的读操作都是与写操作进行大量的竞争,返回十分缓慢。解决办法其实很简答,就是在gweb机器上启动两个gmetad进程,一个负责去写,一个负责去解析并返回xml数据,这样读写分离能够大大的提高效率。

      步骤也很简单:

      1、cp一份gmetad的conf文件,比如叫gmetad-norrd.conf,修改conf文件,修改xml_port端口从默认的8651改为8661,修改interactive_port从8652改为8662,把rrd_rootdir改为一个已存在的目录,防止配置错误导致丢数据

      2、修改gmetad的启动脚本,我的在/etc/rc.d/init.d/gmetad,加入以下配置

           在start处

daemon $GMETAD -c /etc/ganglia/gmetad-norrds.conf
RETVAL=$?
echo
[ $RETVAL -eq 0 ] && touch /var/lock/subsys/gmetad.readonly

      在stop处

[ $RETVAL -eq 0 ]  rm -f /var/lock/subsys/gmetad && rm -f /var/lock/subsys/gmetad.readonly

     3、修改gweb的php conf.php,将端口从8651改为8661

   4、重启gmetad,gweb

       启动后,秒开。感谢google,感谢这篇文章:http://blog.hartshorne.net/2014/02/ganglia-web-ui-performance-improvement.html

Print Friendly

jiang yu

Leave a Reply