Storm UI性能监测,工具:Monit、nmon、Zabbix、Storm-Benchmark

性能监测

1)工具的使用
d)性能高估的两大利器就是Benchmark和Profile工具
a)在架构层面:perf、nmon等工具和命令;
b)在JVM层面:btrace、Jconsole、JVisualVM、JMap、JStack等工具和命令;
c)在Spark、Storm系统层面:web ui、console log,也可以修改源码打印日志进行性能监控。

参考原文:https://blog.csdn.net/csdn_wangqi/article/details/53377657
如何找到Topology的性能瓶颈?

除了通过系统命令查看CPU使用,jstack查看堆栈的调用情况以外,还可以通过Storm自身提供的信息来对性能做出相应的判断。

Storm UI

UI界面解析:
在这里插入图片描述
利用Storm-rest-API提供的地址 xxxxx/api/v1/topology/ (GET)
可以获取到json数据:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

参考原文:
https://blog.csdn.net/hzk_wen/article/details/53153632?utm_medium=distribute.pc_relevant.none-task-blog-title-2&spm=1001.2101.3001.4242

https://www.malinga.me/reading-and-understanding-the-storm-ui-storm-ui-explained/

https://blog.csdn.net/levy_cui/article/details/71424560

https://blog.csdn.net/hy245120020/article/details/81703574?utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromMachineLearnPai2%7Edefault-9.control&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromMachineLearnPai2%7Edefault-9.control

http://storm.apache.org/releases/2.2.0/STORM-UI-REST-API.html

性能指标

在Storm 的UI中,对没过topology都提供了相应的统计信息,其中有三个参数对性能来说参考意义比较明显,包括Execute latency,Process latency和Capacity。

·Execute latency:消息的平均处理时间,单位是毫秒。

·Process latency:消息从收到到被ack掉所花费的时间,单位为毫秒。如果没有启用Acker机制,那么Process latency的值为0。

·Capacity:计算公式为Capacity = Bolt 或者 Executor 调用 execute 方法处理的消息数量 × 消息平均执行时间/时间区间。如果这个值越接近1,说明Bolt或者 Executor 基本一直在调用 execute 方法,因此并行度不够,需要扩展这个组件的 Executor数量。

  • Execute latency,Process latency是处理消息的时效性,而Capacity则表示处理能力是否已经饱和。从这3个参数可以知道Topology的瓶颈所在。

监测工具

ganglia

ganglia3.6.1+jmxtrans+strom-0.9.4集成:
https://blog.51cto.com/chengyanbin/1653572
使用ganglia监控storm集群:
http://www.dengb.com/xtzh/977459.html

Monit

Storm之——使用Monit监控Storm
转载请注明出处:https://blog.csdn.net/l1028386804/article/details/89165346

nmon

Nmon是一款计算机性能系统监控工具,在做性能测试的时候,需要监控服务器的资源情况,而大多数服务器是Linux系统。
参考:https://www.cnblogs.com/qgc1995/p/7523786.html
参考:https://www.cnblogs.com/simeone/p/4026173.html

下载与配置

官方下载链接:http://nmon.sourceforge.net/pmwiki.php?n=Site.Download

https://sourceforge.net/projects/nmon/files/latest/download

解压到服务器中即可,解压出来的几个文件是不同操作系统版本的nmon。

在nmon6d目录中,可以找到nmon_x86_64_centos6这个文件,并对它添加执行权限

[qgc@localhost nmon16d]$ chmod +x nmon_x86_64_centos6

再把该程序文件加入环境变量运行目录,如果不是管理员,需要加上sudo命令

[qgc@localhost nmon16d]$ mv nmon_x86_64_centos6 /usr/local/bin/nmon
mv: cannot move `nmon_x86_64_centos6' to `/usr/local/bin/nmon': Permission denied
[qgc@localhost nmon16d]$ sudo mv nmon_x86_64_centos6 /usr/local/bin/nmon
[sudo] password for qgc: 
[qgc@localhost nmon16d]$ 

运行与使用

输入nmon命令启动Nmon
在启动后的交互式窗口中,可以使用nmon 快捷键来显示不同的系统资源统计数据
数据采集:性能测试时,需要根据测试场景的执行情况,分析一段时间内系统资源的变化,这时需要nmon采集数据并保存下来。
如每隔5秒采集一次,一共采集12次,就是1分钟的数据(生成的文件已标红):

[qgc@localhost nmon16d]$ nmon -f -s 5 -c 12 -m /home/qgc/Desktop/
[qgc@localhost nmon16d]$ nmon -f -T -s 5 -c 12 -m /home/qgc/Desktop/
[qgc@localhost Desktop]$ ls
lmon16g.c                   localhost_180827_2318.nmon  nmon16d_x86.tar.gz
localhost_180827_2317.nmon  nmon16d                     Test

数据采集完毕后,如需关闭nmon进程,需要获取nmon的pid(已标红)

[qgc@localhost Desktop]$ ps -ef | grep nmon
qgc        4455(pid)   4349(ppid)  0 23:40 pts/0    00:00:00 nmon
qgc        4491   4429  0 23:40 pts/1    00:00:00 grep nmon

再安全杀掉该进程:kill -9 pid

[qgc@localhost Desktop]$ kill -9 4455
[qgc@localhost Desktop]$ ps -ef | grep nmon
qgc        4493   4429  0 23:40 pts/1    00:00:00 grep nmon
nmon命令:

参考https://www.cnblogs.com/iclk/p/4456311.html

数据分析nmon analyser

下载与使用

下载:http://nmon.sourceforge.net/pmwiki.php?n=Site.Nmon-Analyser

在windows上下载后解压,有word和exce两个文档,Word是说明文档,包括更新日志,详细参数等,其中的Excel就是nmon analyser工具了。

成功打开nmon analyser后,点击Analyze nmon data按钮,选择nmon数据文件,会再次提示另存为,选择地址保存即可。

nmon analyser 参数详解

参考:https://blog.csdn.net/he_jian1/article/details/41039709

参考:https://blog.csdn.net/Aisry/article/details/107987390

Zabbix

参考:https://www.cnblogs.com/clsn/p/7885990.html#auto-id-1

待续

Benchmark

参考:https://www.cnblogs.com/aibabel/p/10950402.html

Benchmark:基准测试程序
可以分为**微基准测试程序(microbenchmark)**和宏基准测试程序

性能测试,主要测试负载的执行时间、传输速度、吞吐量、资源占用率等。
性能调优的两大利器是Benchmark和profile工具。
Benchmark用压力测试挖掘整个系统的性能状况,而profile工具最大限度地呈现系统的运行状态和性能指标,方便用户诊断性能问题和进行调优。

Benchmark的运用

Benchmark的运用
1、Hibench:由Intel开发的针对Hadoop的基准测试工具,开源的,用户可以到Github库中下载
https://github.com/quanenmin/HiBench
2、Berkeley BigDataBench:随着Spark的推出,由AMPLab开发的一套大数据基准测试工具,官网介绍
3、Hadoop GridMix:Hadoop自带的Benchmark,作为Hadoop自带的测试工具使用方便、负载经典,应用广泛
4、Bigbench:由Teradata、多伦多大学、InfoSizing、Oracle开发,其设计思想和利用扩展具有研究价值,可以参阅论文Bigbench:Towards an industry standard benchmark for big data analytics。
5、BigDataBenchmark:由中科院研发,官方介绍
6、TPC-DS:广泛应用于SQL on Hadoop的产品评测
7、其他的Benchmark:Malstone、Cloud Harmony、YCSB、SWIM、LinkBench、DFSIO、Hive performance Benchmark(Pavlo)等等

例如:
Spark性能测试工具

•Spark性能测试基准程序Benchmark

–https://github.com/intel-hadoop/HiBench

•Spark性能测试与分析可视化工具

–https://github.com/zhihuili/Dew

参考:
作者:严国华
链接:https://www.jianshu.com/p/4bada19ddd70
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

Hibench测试分类

参考:https://blog.csdn.net/weixin_30588729/article/details/96919661
https://blog.csdn.net/wangyaninglm/article/details/52901301

HiBench共计19个测试方向,可大致分为6个测试类别:分别是micro Benchmarks,ml(机器学习),sql,graph,websearch和streaming。
Hibench 包含9个典型的hadoop负载(micro benchmarks,hdfs benchmarks,web search bench marks,machine learning benchmarks和data analytics benchmarks)

Storm-Benchmark

https://github.com/intel-hadoop/storm-benchmark

https://github.com/bitted/storm-benchmark

雅虎的流基准测试

https://github.com/yahoo/streaming-benchmarks

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

风吹海洋浪

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值