nmon结果分析工具_自研“Nmonpy”性能分析工具分享

目前金融行业的互联网项目日益增多,其架构主要是分布式的高可用架构,比如集群、微服务、异地双活/多活、多主多从/读写分离等高可用架构。这些分布式框架的设计主要以高并发、快响应、可靠的容错性,以及严格的数据一致性为目标,随着这些系统部署的服务器数量越来越多,也给我们性能监控工作带来了较大的挑战,如此多的服务器如何进行快速部署监控、批量启动监控、批量结果收集、批量数据性能分析等工作均成为我们目前亟待解决的问题,选用或者开发高效的工具至关重要,不仅要考虑工具的实用性,还要考虑工具的效率。

就拿自己开发的一个nmon批量分析工具来说,最初目的就是如何摆脱官方传统低效的EXCEL宏命令代码,在分析中防止出现讨厌的“运行时错误13,类型不匹配”提示框以及耗时严重的问题,特别是分析8小时稳定性测试结果要耗用3小时以上,何况要对几十台服务器的监控结果进行分析,听着都让人头疼。这时候生产关系就与生产力就产生了矛盾,自研的“Nmonpy”工具应运而生。

9a7950a7b99912f4b795ff4a59cef8d4.png

“Nmonpy”分析工具基于python代码编写,它所依赖的csv、datetime、glob、os等均是python自带的原生态模块,没用其他插件。

自动识别nmon文件并读入

在预设路径中查找nmon文件,并批量读入nmon原始数据,支持Linux、AIX平台下生成的nmon文件。目前初步使用的方法是把本工具拷贝至nmon结果所在路径下,双击触发nmonpy代码自动别本路径下的nmon文件。

44bc226d6b277a76a4147a408d8560b7.png

逐个分析指标

对nmon文件进行拆分找出主要指标,按指标逐个分析,包括主机名称、CPU利用率、内存利用率、磁盘IO、网络读写。运行结果打印到GUI并提示分析了XX个文件,一键跳转到分析结果目录。

e99389e7eaa81876de5df1cd4bd0f2da.png

f355f0817da8b82328532327455a5bb2.png 

生成CSV结果

同时针对各个nmon文件生成对应的CSV格式的分析结果,这些结果按时间存放在同一个目录下。每个结果文件根据采样点分别输出CPU、内存、磁盘、网络读写结果值,更好的了解测试过程服务器性能变化情况,方便性能优化。根据情况,测试工程师可自行通过CSV结果绘制折线图。

c0533da200337a96cf8cf422965bbba0.pngd2768ac21db4d12aa98181caadcc1fe6.png

3042b2039068f2f1169f21c1edd2cea1.png

c765e8c271ab6e73becf782db0e80f05.png

效率

针对“Nmonpy”工具的效率问题,我做了个实验,对53个nmon文件进行批量分析,一共耗时8.26秒,是不是很给力,在效率上远远甩出IBM提供的官方分析工具几百条街。

517f00c0ffb59e2634ae67df6b0a7a21.png

e5bc3846e594a8ff7f816d4b0fd68156.png

准确性

在结果准确性方面也很不错,通过各种工具结果对比测试和代码调试,与IBM官方分析工具相比基本无误差。“Nmonpy”工具在一段时间内运用到了项目中,其分析结果也得到了团队人员的认可。

2fb8c5a48a834e04f868770cc17b9e8f.png

后期扩展

该工具目前还缺少LOG日志功能,即在分析过程中打印运行日志,增强对工具本身的运行监控。增加HTML折线图报表功能,根据对应的nmon文件,生成各自的HTML折线图报表,会在下一个版本推出。4a3d31caea263e63c2828ac45835410c.png

在IT技术行业里,可以提供给我们测试人员使用的工具成百上千,大量的测试工具堆砌反而无从下手,不仅没有起到真正的辅助作用,反而成为测试工作的鸡肋。工欲善其事,必先利其器,选取或者自研一款高效、精简并适合自己的工具就显得非常重要,不仅可以提高工作效率,还能在择优过程中融会贯通,不断总结提高。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值