文档章节

Storm的性能测试报告

止静
 止静
发布于 2014/11/26 13:08
字数 833
阅读 438
收藏 0



在一次面试的过程之中,有CTO详细的询问了 对于机器性能的测试,如下所示:


配置如下:


1                   Cpu     8核   ×2 台机器

2                   主频     2.26

3                    操作系统 redhat

4                    网络千M的以太网

5                   Storm的版本号:0.6.1


测试方法

Storm 是一个流处理系统,它以tuple为基本单位,每个tuple可以包含多个字段(field)。我们给tuple定义两个字段:

  • Data: 存放原始的数据,这里是1000字节的数据,此测试中我们仅仅是直接的转发数据,所以唯一的处理开销就是1000字节的内存拷贝

  • ltsInfo: 时间戳信息,每经过一个处理模块,我们就在此字段中追加上当时的时间戳,最后统计模块就可以根据这些时间信息计算出总延迟等。由于不同的机器时间戳并不同步,这给计算延迟带来了固有误差,解决的办法就是把数据发送模块和最后的统计模块放到一台物理机上。

关于在分布式集群上测试storm的一个说明:在storm上,我们很难给某个模块(component)指定其运行的物理机,storm总是自动的把任务平均分配给集群中的各个机器,因此在测试中我们将使用storm的工作方式来扩展,而非设计非典型的情景(给某个component指定特定的机器来运行,从而打破这种平均分配原则)。


也就是采取了淘测试的机制来处理


内存的使用

淘宝的测试结果为 2万条/秒左右。

在我本地机器上测试是超过了2.5万条,其中的区别可能是淘宝在测试的过程之中加入了一些时间TimeStamp。


到目前位置还没有新加机器来进行一些横向的扩展。没有对比新加入的机器对于系统集群的计算能力有多少增加。


具体的测试方式请参考


淘测试的连接:

http://blog.linezing.com/?p=1048&replytocom=828


在我们的实际测试之中,GC 将对于数据的处理造成比较大的速度的改变。Tuple的处理会积压是一个特别常见现象。



测试结论

经过上面的测试我们可以得出以下的结论:

  • storm单条流水线的处理能力大约为20000 tupe/s, (每个tuple大小为1000字节)

  • storm系统本省的处理延迟为毫秒级

  • 在集群中横向扩展可以增加系统的处理能力,实测结果为1.6倍

  • Storm中大量的使用了线程,即使单条处理流水线的系统,也有十几个线程在同时运行,所以几乎所有的16个CPU都在运行状态,load average 约为 3.5

  • Jvm GC一般情况下对系统性能影响有限,但是内存紧张时,GC会成为系统性能的瓶颈

  • 使用外部处理程序性能下降明显,所以在高性能要求下,尽量使用storm内建的处理模式


测试的工具是用的:nmon



© 著作权归作者所有

共有 人打赏支持
止静
粉丝 119
博文 134
码字总数 125762
作品 0
东城
技术主管
私信 提问
Apache Storm 1.0.5 发布,分布式实时计算

Apache Storm 1.0.4 已发布,Apache Storm 是一个免费开源的分布式实时计算系统。简化了流数据的可靠处理,像 Hadoop 一样实现实时批处理。Storm 很简单,可用于任意编程语言。Apache Storm ...

王练
2017/09/16
825
5
Apache Storm 0.9.6/0.10.0 发布

Apache Storm 0.10.0 发布,此版本是个稳定版本,相比之前的 Beta 版本主要包括 bug 修复和改进: STORM-1108: Fix NPE in simulated time STORM-1106: Netty should not limit attempts to...

oschina
2015/11/06
4.7K
8
Apache Slider + Storm

Apache Slider + Storm 系统环境 安装如下组件,部署可用环境 JDK 1.7.0_79 Apache Zookeeper 3.4.* Apache Zookeeper Apache Hadoop 2.6.* Apache Hadoop Apache Storm 0.9.4 Apache Storm......

Yulong_
2016/09/21
0
0
Apache Storm 0.9.7 发布,分布式实时计算

Apache Storm 0.9.7 发布了,Apache Storm 的前身是 Twitter Storm 平台,目前已经归于 Apache 基金会管辖。 Apache Storm 是一个免费开源的分布式实时计算系统。简化了流数据的可靠处理,像...

开源中国股侠
2016/09/08
782
1
windows 安装 storm 及 eclipse 调试 TopN 实例

一:安装JDK 下载地址:地址一 地址二 配置Java环境变量 JAVAHOME、Path、CLASSPATH三个值分别为(按照自己安装状况设置,此处供参考): D:javajdk1.8 %JAVAHOME%/bin;%JAVAHOME%/jre/bin ....

大数据之路
2012/06/08
0
1

没有更多内容

加载失败,请刷新页面

加载更多

OSChina 周一乱弹 —— 眼看着这颗陨石砸了下来

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @莱布妮子:分享Nachtblut的单曲《Antik》 《Antik》- Nachtblut 手机党少年们想听歌,请使劲儿戳(这里) @mr_chip :上海的初雪之后有点冷 ...

小小编辑
21分钟前
15
6
Confluence 6 修改导航显示选项

选择 子页面(Child pages)来在边栏中查看当前页面的子页面。 选择 页面树(Page tree)来查看整个空间的页面树,扩展当前的页面。 你也可以选择是否完全隐藏导航显示选项或者添加你希望可见...

honeymose
52分钟前
0
0
Ubuntu18.04 安装MySQL

1.安装MySQL sudo apt-get install mysql-server 2.配置MySQL sudo mysql_secure_installation 3.设置MySQL非root用户 设置原因:配置过程为系统root权限,在构建MySQL连接时出现错误:ERROR...

AI_SKI
今天
3
0
3.6 rc脚本(start方法) 3.7 rc脚本(stop和status方法) 3.8 rc脚本(以daemon方式启动)

3.6-3.7 rc脚本(start、stop和status方法) #!/usr/bin/env python# -*- coding: utf-8 -*-# [@Version](https://my.oschina.net/u/931210) : python 2.7# [@Time](https://my.oschina.......

隐匿的蚂蚁
今天
3
0
Cnn学习相关博客

CNN卷积神经网络原理讲解+图片识别应用(附源码) 笨方法学习CNN图像识别系列 深度学习图像识别项目(中):Keras和卷积神经网络(CNN) 卷积神经网络模型部署到移动设备 使用CNN神经网络进行...

-九天-
昨天
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部