基于web的性能监测工具
上一篇 / 下一篇 2014-03-04 17:44:58 / 个人分类:工具
S S9n:y^1X.T0
每个工具都略有不同的侧重点,所以我们将逐一分析这些工具以帮助你选出适合安装在你的机器上的工具。这些工具执行统计记录所使用的语言和设计模式都可能影响其效率,例如,collectd是用C语言写的并作为守护进程(daemon)在运行,因此collectd不需要创建任何新进程来收集系统信息。其他收集程序可能是用Perl写的,可能你的磁盘缓存中包含Perl翻译器以及收集程序使用的所有Perl模块,系统需要定期产生一个或者多个新程序来收集系统信息。51Testing软件测试网+WAC*n^,Q n
RRDtool51Testing软件测试网:\FU]_A-a
这些我们将要分析的工具经常会使用其他工具,例如RRDtool就包括存储时间序列数据工具以及图表工具。51Testing软件测试网WzU Wrby;s
51Testing软件测试网s wM S&Ff]
!zD'?%c5L;\%P051Testing软件测试网;]+g6V2\f
51Testing软件测试网,|\*di([t&S
RRDtool工具侧重于存储新的时间序列数据,因此不会对磁盘子系统有很大影响,你可能会觉得这没什么大不了的。如果你只是每隔5-10秒钟获取几个值,将它们附加在文件的末尾,在服务器上都不能够明显被察觉,然后你可能会开始监测CPU(负荷、值、核心――每个核心多达16个值)、内存(交换、缓存大小――另外5个值)、磁盘中的剩余空间(20个值?)以及从UPS收集的数据(10个值)。即使不考虑网络流量,每隔10秒钟你都可以从系统中记录50个值。51Testing软件测试网X!uO4b:x4R
RRDtool能够将这些值以4KB的大小写入磁盘中,而不是4字节或者8字节,因此系统不需要在每个记录间隔都运行工作。如果其他工具想要所有的数据,可以进行刷新输出缓存,以确保RRDtool缓存的所有数据都被存储入磁盘中。由于数据每次都是以4KB大小写入,就不需要总是将数据置于缓存中,只有再次执行分析或者使用RRDtool图表命令时才会启用。
5h\ bTm!T f0由于系统监测工具经常会写入文件,你可能会对存储这些文件的区域进行优化。对于常规spinning disk,文件系统搜寻比按顺序读取很多块更具效率,当Linux内核只需要读取一个块时其他序列块也会进入缓存区以供备用。因为RRDtool文件经常被写入单个磁盘块,你最好关闭readahead的分区进程,你也可以利用util-linux-ng的blockdev程序将区块readahead值缩小为两个磁盘块(使用这样的命令:setra 16 /dev/sdX)。关闭时间更新并对文件系统使用writeback模式,RAID同样也将有助于提高性能。51Testing软件测试网5hd Oh[A5I"bn
51Testing软件测试网QU+yE1BM'^
51Testing软件测试网4f2J$Q v,_ Q d)E
51Testing软件测试网N*@8DJA p]
51Testing软件测试网]D8mq V(jB
51Testing软件测试网ze#j1J-R6R^U
51Testing软件测试网6Ql`7a/kjT
collectd
%b y&V2F;A{$j*Tn4a0Colletd是专为反复收集系统信息而开发的,而tarball包含分析这些信息的web界面,开发者表示该界面是一个极小的界面示例,那些想要找寻能够分析collectd收集的信息的web界面的人可以考虑使用其他工具(如Cacti)。51Testing软件测试网6C1]D_z(D.gTN*y sh
51Testing软件测试网D!}3_$W4@6k
51Testing软件测试网h+`UoiI Y k
/Y!t-~dT[*^%}0
}Ik;\4r_&P
~
p*d8P0 Debian Etch和Fedora9都附有collectd安装包,openSUSE还提供一键安装collected。该程序是用C语言写入的,并且作为守护进程运行,这使该程序能够在短间隔内记录信息而不会对系统产生较大影响。
当你安装collectd包的时候你可能还会想尝试插件包,collectd的重要优势在于能够通过插件支持检测各种各样的系统信息,例如数据库、UPSes、一般系统参数、NFS和其他服务器性能参数。不过,安装插件安装包不是件易事。对于openSUSE,你只需要安装插件完整包即可,而Fedora9( 4.4.x版本)则没有PostgreSQL插件,Debian、 openSUSE和Fedora中都不包含网络USP工具(NUT)插件。51Testing软件测试网?LAp&VP1~\
解决插件问题的最简单的办法就是从源代码开始建立collectd,配置你想要的插件。一些通常没有被置于安装包中而你可能感兴趣的插件包括NUT、netlink、 postgresql以及iptables。安装collectd遵循如下步骤:配置;生成;sudo产生安装进程,但是如果你指定要编制某些插件的时候,你的配置命令可能会很长。安装程序以及我选择的插件都列在下面的命令中,我使用了contrib目录中的init.d启动文件,并更改了一些路径,因为我使用的是私人副本来保证collectd安装在单一目录树进行。另外,我还复制了iproute2以便在Fedora9的libnetlink库中使用。51Testing软件测试网nc N5HR
-i {4^4J n m|9T9NQ\3V0
51Testing软件测试网nQW8L|{i-TGE
$ cd ./collectd-4.5.1 51Testing软件测试网dd#z&z |