博客
关于我
Storm性能监测工具:Monit、nmon、Zabbix、Storm-Benchmark
阅读量:292 次
发布时间:2019-03-03

本文共 2551 字,大约阅读时间需要 8 分钟。

Storm性能监测工具:nmon、Zabbix

Storm性能监测是保障其稳定运行和高效处理的关键环节。本文将详细介绍 Storm性能监测的两大利器:nmon 和 Zabbix,并探讨如何通过这些工具找到 Storm拓扑的性能瓶颈。

nmon:性能监控工具

nmon 是一款功能强大的性能监控工具,广泛应用于 Linux 系统的资源监控。它支持多种监测指标,能够帮助管理员全面了解服务器的资源使用情况。在 Storm 集群中,nmon 可以实时采集 CPU、内存、磁盘等资源的使用数据,为性能分析提供重要依据。

nmon 的下载与配置

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

解压后,进入 nmon6d 目录,可以找到适用于 CentOS 6 的 nmon_x86_64_centos6 文件。为了确保程序的执行权限,需要执行以下命令:

chmod +x nmon_x86_64_centos6

如果是普通用户,运行时需要使用 sudo:

sudo mv nmon_x86_64_centos6 /usr/local/bin/nmon

nmon 的运行与使用

启动 nmon 的方式非常简单,直接输入命令:

nmon

在交互式窗口中,可以通过快捷键查看不同的资源统计数据。例如,? 按钮可以显示帮助信息,1键可以切换为单线程模式。

数据采集方面,建议根据测试场景的需求设置合适的时间间隔。例如,以下命令可以采集 1 分钟的数据,每隔 5 秒采集一次:

nmon -f -s 5 -c 12 -m /path/to/save

数据采集完成后,使用 ps -ef | grep nmon 可以查找 nmon 进程的 PID,并使用 kill -9 PID安全终止进程。

Zabbix:全面的监控解决方案

Zabbix 是一个功能强大的网络监控工具,支持多种协议和平台,包括 Storm 集群。通过 Zabbix,可以对 Storm 的资源使用情况、拓扑状态以及各个节点的性能指标进行实时监控。

Zabbix 与 Storm 集成

Zabbix 与 Storm 的集成通常需要依赖 ganglia 或其他监控工具。例如,ganglia3.6.1 与 jmxtrans 结合可以实现 Storm 集群的监控。此外,Zabbix 的灵活配置选项使其能够适应不同的 Storm 环境。

Zabbix 的使用场景

Zabbix 的优势在于其支持的丰富监控指标和灵活的报警机制。在 Storm 集群中,可以通过 Zabbix 监控以下关键指标:

  • CPU 使用率:监控每个节点的 CPU 负载,发现过载情况。
  • 内存使用情况:跟踪内存使用趋势,避免内存不足或溢出的风险。
  • 磁盘 I/O:实时监控磁盘读写速度,排查存储性能问题。
  • Storm 组件状态:监控 Storm 的各个组件(如 Supergroup、Bolt、Spout 等)的运行状态。

Benchmark:性能测试的基石

Benchmark 是性能测试领域的重要工具,用于评估系统的负载能力和性能极限。在大数据领域,Benchmark 工具如 Hibench、Berkeley BigDataBench 等,提供了丰富的测试场景和模板。

Benchmark 的分类

HiBench 是一个广泛使用的 Hadoop 基准测试套件,涵盖了多个关键测试方向,如:

  • 微基准测试(microbench):衡量单次操作的性能。
  • 机器学习测试(ml):评估机器学习模型的训练效率。
  • SQL 测试(sql):测量 SQL 查询的执行速度。
  • 图数据库测试(graph):评估图数据库的处理能力。
  • 网络搜索测试(websearch):测试搜索引擎的效率。
  • 流处理测试(streaming):分析流数据的处理能力。

Storm-Benchmark 的应用

对于 Storm 集群,Benchmark 工具可以帮助评估其处理能力和吞吐量。例如,以下工具提供了 Storm 性能测试的解决方案:

这些工具提供了详细的测试场景和数据分析功能,能够帮助管理员发现性能瓶颈并进行优化。

雅虎的流基准测试

雅虎开发的流基准测试工具专注于流数据处理的性能评估。该工具涵盖了 Storm、Flink、Spark 等流处理框架的测试场景,提供了详细的性能对比报告。

测试工具的特点

  • 模块化设计:支持多种流处理框架和测试场景。
  • 自动化报告:生成详细的测试报告,包括吞吐量、延迟等关键指标。
  • 开源社区支持:拥有活跃的开源社区,提供丰富的文档和技术支持。

通过这些工具,可以全面评估 Storm 的性能表现,发现潜在的性能瓶颈,并根据测试结果进行优化。

性能监测的关键指标

在 Storm 的 UI 中,提供了丰富的性能指标,主要包括以下三个关键参数:

  • Execute latency:消息的平均处理时间(单位:毫秒)。

  • Process latency:消息从接收到 ACK 的时间(单位:毫秒,若未启用 Acker 机制,值为 0)。

  • Capacity:衡量处理能力的指标,计算公式为:

    Capacity = (Bolt 或 Executor 调用 execute 的消息数量) × (平均执行时间 / 时间区间)

    当 Capacity 接近 1 时,表明 Bolt 或 Executor 的 execute 方法被频繁调用,可能需要扩展 Executor 数量。

  • 这些指标共同反映了 Storm 拓扑的处理效率和性能状态,为性能监测和优化提供了重要依据。

    总结

    通过合理运用 nmon、Zabbix 等工具,可以全面监控 Storm 集群的资源使用情况和性能状态。Benchmark 和 Profile 工具则为性能测试提供了强有力的支持。对于 Storm 性能监测和优化,建议结合工具监控和手动分析,定期进行性能测试和调整,以确保 Storm 集群的高效稳定运行。

    转载地址:http://smel.baihongyu.com/

    你可能感兴趣的文章
    mysql5.5最简安装教程
    查看>>
    mysql5.6 TIME,DATETIME,TIMESTAMP
    查看>>
    mysql5.6.21重置数据库的root密码
    查看>>
    Mysql5.6主从复制-基于binlog
    查看>>
    MySQL5.6忘记root密码(win平台)
    查看>>
    MySQL5.6的Linux安装shell脚本之二进制安装(一)
    查看>>
    MySQL5.6的zip包安装教程
    查看>>
    mysql5.7 for windows_MySQL 5.7 for Windows 解压缩版配置安装
    查看>>
    Webpack 基本环境搭建
    查看>>
    mysql5.7 安装版 表不能输入汉字解决方案
    查看>>
    MySQL5.7.18主从复制搭建(一主一从)
    查看>>
    MySQL5.7.19-win64安装启动
    查看>>
    mysql5.7.19安装图解_mysql5.7.19 winx64解压缩版安装配置教程
    查看>>
    MySQL5.7.37windows解压版的安装使用
    查看>>
    mysql5.7免费下载地址
    查看>>
    mysql5.7命令总结
    查看>>
    mysql5.7安装
    查看>>
    mysql5.7性能调优my.ini
    查看>>
    MySQL5.7新增Performance Schema表
    查看>>
    Mysql5.7深入学习 1.MySQL 5.7 中的新增功能
    查看>>