OpenTSDB性能测试

 

2017年05月31日 09:40:30 ZHBR_F1 阅读数:3424

 版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/ZHBR_F1/article/details/72817691

一、测试环境

OpenTSDB单节点部署,底层HBase存储为7节点集群。每个节点由XenServer虚拟,虚拟的硬件配置相同。

单节点内存:16GB

单节点CPU:双核 Intel(R) Xeon(R) CPU E5-2620 v3 @ 2.40GHz  (x86_64)

HBase部署:RegionServer为5节点,2个HMaster节点(其中一个备用)。

HBase RegionServer最大JVM内存配置:4G

 

二、测试过程及结果记录

1、测试单线程写入OpenTSDB速度,使用HTTP API请求。

样本数据:1-20设备ID(共20设备),每个设备500测点(K1-K350,T1-T150),源数据格式(每个条目,相当于MySQL中的一行数据)为<time,id,K1..K350,T1..T150>,每个字段都是String编码格式,其中Kn属于开关量,取值{0,1},Tn属于Double量。数据每秒产生一次,共产生12小时数据 (43200条)。一次HTTP写请求可以携带多个数据条目。HTTP写请求每批次(每次HTTP POST长度)数据体长度(字节,不是条目数)控制在8k(范围[8110, 8209])以下。HTTP写请求的数据体为JSON格式。

 测试结果:十条(一条一个设备,共十个设备,所有设备各有500测点)数据批量写入约为900ms。

2、测试多线程写入一批数据到OpenTSDB耗时,使用HTTP API请求。

样本数据:同上,因数据每秒每台设备产生一条,积攒10s后一次性处理写入。产生10秒数据(共 5000条)。使用多线程(10线程,可配)并发写入,每线程处理50台设备。

时间戳截取:从开始启动截取一次,每个现成处理完最后一条数据各截取自己的时间戳,在这个过程中每个线程将写入5000/线程数条数据到OpenTSDB。

测试结果:不同线程数并行处理耗时,单位毫秒(millisecond)。

线程数

开始时间戳

时间戳范围

时间间隔范围

10

1489729025703

[1489729053443,1489729053986]

[27740, 28283]

20

1489730351485

[1489730376983,1489730379312]

[25498, 27827]

测试5秒产生的数据写入耗时(线程数10)。

数据量

开始时间戳

时间戳范围

时间间隔范围

5秒

1489731656466

[1489731670147,1489731671317]

[13681, 14851]

 

三、结论

简单分析多线程环境下测试数据,10线程与20线程下10秒钟数据量的写入时间没有太大差别,20线程稍快。得出以下结论:

1. 10线程

平均写入速度为0.112ms/点,单线程平均每秒写入8928.57点。10线程总吞吐量为平均每秒89285.7点。

2. 20线程

平均写入速度为0.2133ms/点,单线程平均每秒写入4688.23点。20线程总吞吐量为平均每秒93764.6点。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值